javascript - 如何将 JavaScript 数组作为参数传递给 URL 并在 PHP 中捕获?
问题描述
我在 JS 中有一个数组,我试图将它作为参数传递给 URL 并在 PHP 中捕获它,但我无法理解如何做到这一点:
var trafficFilterHolder = ["roadworks","snow","blocking"];
var filters = encodeURI(JSON.stringify(trafficFilterHolder));
仅供参考:我正在使用 windows.fetch 进行发布。
在 PHP 中:
$trafficFilters = $_GET["trafficFilters"];
$obj = json_decode($trafficFilters);
var_dump($obj);
解决方案
这很简单,您正在使用 ajax 将这些数据传递给 php,对吗?
首先,您错误地创建了 javascript 数组:
var trafficFilterHolder = [0: "roadworks", 1: "snow", 2: "blocking"];
不要使用方括号来创建带有键的数组,而是使用这种格式:
var trafficFilterHolder = {0: "roadworks", 1: "snow", 2: "blocking"};
现在,在 ajax 中,只需将数组添加到data
:
$.ajax({
data: { trafficFilters: trafficFilterHolder }
});
推荐阅读
- python - 使用flask和jquery使用来自MongoDB的数据使用chartjs绘制图表时出现问题
- security - PowerApps 是否允许未跟踪的电子邮件或创建安全漏洞?
- java - Slack App Slash 命令 - 检测到无效签名(401 未经授权)
- robotframework - 如何设置关键字的状态?
- reactjs - 编译反应应用程序时出错 - 错误:*path* 的包导出未定义有效的“。” 目标
- python - Pandas 正则表达式 - 条件匹配
- asp.net-core - Blazor WebAssembly 中的 OpenIDConnect,带有 IdentityServer4 + ASP.NET Core Identity postgresql 数据库,无需重定向
- mysql - 如何在 Sequalize、Mysql、Node 中将多个查询组合在一起
- spartacus-storefront - Overriding components without interfering with other sections (SimpleResponsiveBannerComponent)
- sql - case when...then 1 else 0