JS 组织Json参数

5 篇文章 0 订阅

最近在做着一个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谢谢! 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值