AJAX请求中含有数组解决办法

当我们发送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数据里,这样,浏览器就不会自动去帮你解构数组,后台拿到的也就是一个真正的数组了。

原文地址:https://www.cnblogs.com/chinajins/p/5784068.html