假如说一个数组 [{set:"aaa",val:"111"},{set:"bbb",val:"222"}]
传接口的时候,如何改成 get 和 post 同时兼职?
1
ccyu220 2019-06-13 11:32:39 +08:00
1、循环
2、解构赋值 |
3
c4f36e5766583218 2019-06-13 17:35:57 +08:00
```传接口的时候,如何改成 get 和 post```你这问的是 http 传参数问题吧。。和标题 js 传参有点出入啊。
你想要 get 也支持就放 URL 参数里呀。像这样,这个链接可以访问的,你点下: https://httpbin.org/get?a=[{set:%22aaa%22,val:%22111%22},{set:%22bbb%22,val:%22222%22}] ps:(没币了,币多的热心人帮忙点个赞,这个放几天,有币就不放了) ```JavaScript jQuery(function ($) { for (let type of ["GET", "POST"]) { $.ajax({ async: false, data: { name: '[{set:"aaa",val:"111"},{set:"bbb",val:"222"}]' }, type: type, url: "https://httpbin.org/anything" }); } }); ``` |
4
c4f36e5766583218 2019-06-13 17:56:24 +08:00
不好意思,我把它当做字符串理解了。。。你可以试下这两个函数
$.param({a: [2, 3, 4]}, true); //a=2&a=3&a=4 需要数组内是基本数据类型 $.param({a: [2, 3, 4]}, false); //a%5B%5D=2&a%5B%5D=3&a%5B%5D=4 参数名不友好 其实有很多形式,不知道你后端接收是怎样的。比如 httpbin.org/get?a=1&a=2 // {"a": ["1", "2"]} 后端接收到的真的是个数组 httpbin.org/get?a=[%221%22:%222%22] // {"a": '["1":"2"]'} 后端接收到的是 json 化的 再要么就是 jQuery.param 里提到那样的,分不同 key 里了 |