如何使用Javascript将空数组发送到PHP服务器

时间:2015-04-08 13:29:15

标签: javascript php

我需要通过form-data请求接收PHP空数组。 PHP服务器从主体预期的符号是:filters[]。但是当我从JS发送一个空数组时,我收到了这个filters: ""

我的发送方式:

 var filters = new Array();
 var body = "filters="+filters;
 request.send(body);

那么,有一种方法可以自然地在Javascript中实现吗?

4 个答案:

答案 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 = [""];
}

过滤器为空时。过滤器不为空时的对象。