您的位置:首页 > Web前端 > JavaScript

JS 组织Json参数

2013-12-20 11:56 141 查看
最近在做着一个Java Web的项目,而项目中前端使用了Ext-js 4,而MVC框架则是Spring MVC。

有一个功能是这样的,后端定义了一个参数是手动定义的对象(下文用A表示该对象),A中含有一个属性为List<ObjectB>。

一开始我在前端的写法如下:

var para = {};
para.p1 = 'a';
para.p2 = 'b';
var bList = [];
var b = {};
for ( i = 0; i < testList.length; i ++){
b.p1 = testList[i].p1;
b.p2 = testList[i].p2;
bList[i] = b;
}
para.bList = bList;


结果就报400错误了,bad request,传入的参数不正确。

后来问了同事,才发现原来不能这样组织参数的。写法如下:

var para = {};
para['p1'] = 'a';
for ( i = 0; i < testList.length; i++) {
para['bList[' + i +'].p1'] = testList[i].p1;
}

备注:

当直接使用表单提交List参数时,可将form中的标签中指定同一个name即可,一般用于复选框,不能将name写成数组形式的值。

例:提交城市,后台定义成List<String> cities;,前台只需要在form中定义n个含name=cities的标签,而非name=cities[0],name=cities[1]等。

若使用js来构造该参数,后台可使用数组,如:String[] cities,前端js则需要这样传:cities=["t", "s"]

若有错误,还望指正,O(∩_∩)O谢谢! 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  js spring mvc
相关文章推荐