我有一个让我困惑的问题。我有一个ajax函数,发送一个JSON对象,我看到JSON被解析在F12谷歌浏览器头中,并且我收到了成功的提示。
$(document).ready(function() {
var test = {'bob':'foo','paul':'dog'};
$.ajax({
url: "test.php",
type: 'POST',
contentType: "application/json; charset=utf-8",
data: JSON.stringify(test),
success: function(data) {
alert("Bien: " + data);
},
failure: function(errMsg) {
alert("Mal: " + errMsg);
}
});
});
但是在我的PHP页面中,我看不到任何POST或其他内容。我可以看到我的post已经被接收,但是没有其他东西:
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo "post"; //Result 'post'
}
foreach( $_POST as $stuff ) {
echo $stuff; //Nothing at all
}
print_r(json_decode($_POST["data"], true)); // Undefined index: data
在同一段代码中,我使用
$.post( "test.php", { data: { name: "John", time: "2pm" } } );
如果程序可以运行,那么问题肯定与代码相关,但我无法真正看出是什么。
谢谢你的帮助!