我在index.php文件中的onclick事件之后触发了以下代码。但是,当我尝试访问page2.php中发布的数据时,我得到一个空数组。
$.ajax({
url: "page2.php",
type: "post",
data: 6 ,
success: function (data) {
alert(data);
},
error: function() {
alert('failure');;
}
});
在我的php代码中,我有以下内容;
$x = $_POST['data'];
echo = $x;
即使我打印出$ _POST,也要给我一个空数组
答案 0 :(得分:3)
PHP将使用URL编码或Multipart表单编码的数据填充$_POST
。您都不发送。
您应该对数据进行编码,而不是发送纯文本字符串。
在您的JS中:
data: { myNumber: 6 },
(jQuery默认将数据对象转换为URL编码的数据)
在您的PHP中:
$x = $_POST['myNumber'];
echo $x;
如果您确实要发送纯文本字符串,则应在请求中这样说:
data: 6 ,
contentType: "text/plain"
然后您需要手动处理请求的正文:
$x = file_get_contents('php://input');