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

How to send an empty array to PHP server using Javascript

本文关键字:PHP 服务器 数组 何使用 Javascript      更新时间:2023-09-26

我需要通过form-data请求接收一个PHP空数组。PHP服务器从正文中期望的表示法是:filters[]。但是当我从JS发送一个空数组时,我会收到这个filters: ""

我的发送方式:

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

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

小的更改可能适用于

var filters = new Array();
var body = "filters[]="+filters; //added [] to filters
request.send(body);

URL参数应该如下所示:

http://example.com/?filter[]=1&filter[]=2

http://example.com/?filter[0]=1&filter[1]=2

etc

作为替代方案,您可以对参数进行JSON编码,但使用POST参数将是更好的选择。

最好的方法是使用将array/json转换为字符串

var dataAsString = JSON.stringify(array);

然后,您必须从字符串中检索PHP中的数组。请参阅链接了解如何将字符串转换回JSON。

我用给定的符号发送解决了这个问题:

if (!filters || filters.length === 0) {
    filters = [""];
}

过滤器为空时。和一个对象,当过滤器不为空时。