【发布时间】:2021-11-09 08:58:02
【问题描述】:
我想向 PHP 发送一个数组,但是 PHP 只输出“数组”。我有两个文件: forms1.php 和 forms1.js。 PHP if 语句永远不会变为真。我也试过不使用 if 语句。
感谢您在 cmets 中指出,是的,我调用了该函数,并且警报返回了整个 forms1.php 代码。
旧标题:为什么我的 php 文件看不到 GET["result"]? // 这个标题是错误的
forms1.js
var nums = [1,2,3,4];
function postcars() {
$.ajax({
type : 'GET',
url : 'forms1.php',
data : {"result": nums},
success: function(resp)
{
alert(resp);
}
});
}
forms1.php
<?php
if ($_GET["result"] != null){
$filename = $_GET["result"];
echo $filename;
}
?>
【问题讨论】:
-
你为什么要与 null 开始比较?您应该使用
isset或empty来检查外部参数是否设置/为空。 -
AJAX 请求返回什么?您是否检查过控制台以确保没有错误?
-
要调试的两个部分。在浏览器中手动输入预期的 URL 以查看 PHP 结果可能是有意义的。还有error_reporting。
-
另外,你不能在 PHP 中使用 echo 正确输出一个数组,结果只会得到字面值
Array。 -
如果您向同一页面发送 ajax 请求,您需要做一些事情来防止整个页面源成为响应数据的一部分