我需要通过form-data
请求接收PHP空数组。 PHP服务器从主体预期的符号是:filters[]
。但是当我从JS发送一个空数组时,我收到了这个filters: ""
。
我的发送方式:
var filters = new Array();
var body = "filters="+filters;
request.send(body);
那么,有一种方法可以自然地在Javascript中实现吗?
答案 0 :(得分:1)
小改变对您有用
var filters = new Array();
var body = "filters[]="+filters; //added [] to filters
request.send(body);
答案 1 :(得分:0)
最好的方法是使用
将array / json转换为字符串var dataAsString = JSON.stringify(array);
然后从字符串中你必须在PHP中检索数组。 请参阅link以了解如何将String转换回JSON。
答案 2 :(得分:0)
网址参数应如下所示:
http://example.com/?filter[]=1&filter[]=2
或者
http://example.com/?filter[0]=1&filter[1]=2
等
作为替代方案,您可以对参数进行JSON编码,但是使用POST参数将是更好的选择。
答案 3 :(得分:0)
我通过发送给定的符号来解决这个问题:
if (!filters || filters.length === 0) {
filters = [""];
}
过滤器为空时。过滤器不为空时的对象。