当我们发送AJAX请求的数据中带有数组时,是不能像普通JSON数据一样,直接放在data里发送给后台,比如有这样一个数据需要发送给后台:
1 { 2 "orderId": 22, 3 "resourceJson": [ 4 { 5 "carCapacity": 223, 6 "carNumber": "123", 7 "driverInfo": "123", 8 "failReason": "3123123", 9 "id": 25, 10 "ispass": 0, 11 "lineId": 784, 12 "load_plan": "123", 13 "onPackageDay": 123, 14 "price": 123, 15 "storeOutCapacity": 123, 16 "store_out_capacity": 123 17 }, 18 { 19 "failReason": "31231231", 20 "id": 2, 21 "ispass": 0, 22 "lineId": 787, 23 "load_plan": "123", 24 "store_out_capacity": 123, 25 "tallyman": "ddd" 26 }, 27 { 28 "failReason": "123123", 29 "id": 1, 30 "ispass": 0, 31 "lineId": 785, 32 "load_plan": "123", 33 "store_out_capacity": 123, 34 "tallyman": "fff" 35 } 36 ] 37 }
其中resourceJson字段是一个数组,如果直接把这个JSON数据传给后台,后台得到的数据是这个样子:
浏览器会自动把数组解构成一个个变量,后台拿到这个数据就直接傻逼了。
所以,最好的办法是把数组编程字符串,很简单,把数组单独用一个变量存起来,然后JSON.stringify(数组),把得到的字符串放到JSON数据里,这样,浏览器就不会自动去帮你解构数组,后台拿到的也就是一个真正的数组了。