如何使用Javascript将空数组发送到PHP服务器
How to send an empty array to PHP server using Javascript
我需要通过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 = [""];
}
过滤器为空时。和一个对象,当过滤器不为空时。
相关文章:
- 通过ajax将坐标传递到php服务器端,并在处理后检索到javascript
- 如何使用Javascript将空数组发送到PHP服务器
- 将通过 AJAX 上传的二进制数据保存在 PHP 服务器上
- 无法处理 PHP 服务器中由 FormData 发送的数据
- Fetch Api无法从PHP服务器获取会话
- 如何在等待php客户端脚本的回复时终止php服务器脚本
- javascript客户端时间到php服务器时间
- PHP 服务器无法使用 ajax 接收 javascript 对象
- 与Node.js服务器和PHP服务器之间的差异之间的理论混淆
- 如何将文件从jQuery上传到php服务器
- php 服务器端计时器 独立于客户端浏览器
- XMLHttp请求将 XML 发送到 PHP 服务器
- 如何上传 XML 文件并发送到 PHP 服务器
- 推送器 PHP 服务器不工作
- 将文本区域的内容保存到文件并从PHP服务器页面加载
- 如何在我的本地主机 php 服务器上安装更少
- 脚本未将输入发布到PHP服务器脚本
- JavaScript-如何获取PHP服务器的正确时间
- ajax - 将数据作为 JSON 发送到 PHP 服务器并接收响应
- 从php服务器读取json