[英]passing a Javascript array into PHP
我使用JavaScript将数据从文件转换为数组。 现在,我想使用表单中的输入来使用PHP搜索此数组并将结果显示在表中。 我已经阅读了许多解决类似问题的文章,但不确定如何进行。
我已使用@Kevin_Kinsey发布的建议更新了代码
我正在将ajax与POST一起使用,以将数组传递给PHP
function sendPhp(reports) {
$.ajax({
type: 'POST',
url: 'reports.php',
data: JSON.stringify(reports),
contentType: 'application/json',
dataType: 'json'
});
}
然后我用它来用PHP接收它
<?php
$json = filter_input(INPUT_POST, "data", FILTER_SANITIZE_EMAIL);
//replace FILTER_DEFAULT with appropriate filter flags, as tight as possible
$dataObject = json_decode($json);
$dataArray = json_decode($json, true);
var_dump($json);
?>
我的页面现在在浏览器中显示NULL,并且在控制台中查看get请求显示没有接收到数据。
有人可以指出我的错误吗? 我不明白为什么数据没有被传递。
此图显示了控制台日志,我的POST显示了我的数组
此图显示了我的PHP页面上GET的控制台日志,该日志为空。
<?php
# get the data from POST, not stdin
$json = filter_input(INPUT_POST, "data", FILTER_DEFAULT);
//replace FILTER_DEFAULT with appropriate filter flags, as tight as possible
$dataObject = json_decode($json);
$dataArray = json_decode($json, true);
请注意,这里没有任何安全措施,除了您可以设置尝试清除输入内容的FILTER_FLAGS之外。 您需要基于令牌的验证来防御XSS,并且应该在其余的PHP脚本/处理程序对JSON进行操作之前,彻底测试JSON中的意外输入,并且通常可能会对安全性有更多的偏执。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.