var params={};
$.each(that.meetArrangeList, function(index1, val1) {
$.each(val1.child, function(index2, val2) {
$.each(val2.child, function(index3, val3) {
...
params["arrange["+index1+"].id"]=val3.meetID;
...
});
});
});
meetID
这个属性有的有有的没有,运行的时候浏览器也没有报错,使用POST
方法提交,在浏览器ajax请求中找到form data
下的参数发现没有meetID
这个属性的那一条(图一第二条数据)没有拼接id参数,
提交之前我把params
打印出来,结果图一中的第二条数据拼接了id
这个属性,值为undefined
解决方法可以这样写:
params["arrange["+index1+"].id"]=val3.meetID || '';
但是不明白为什么打印出来的和浏览器传递的不一样呢?是因为一个是对象一个是字符串的区别吗?还是浏览器自动过滤掉了undefined的内容?
浏览器说: 我该如何告诉后台, 这个值是
undefined
呢.