我遇到了 JQuery Mobile(对我来说是新手)和 AJAX 调用的问题。我正在使用以下代码:
$.ajax({
type: "POST",
url: "http://**correct url**/post/todoitem",
beforeSend: addHeaders,
dataType: "json",
contentType: "application/json",
data: { "todoitem":"test" }, // this is just as a test
success: function(result) {
alert("Success: " + JSON.stringify(result));
},
error: function() {
alert("Error: " + JSON.stringify(arguments));
}
});
在执行此操作时,它会调用一个 PHP 脚本,我需要来自 todoitem 的数据,所以在这种情况下,字符串“text”(最后,要发送多个变量,但现在我只使用一个参数简单)。
我的 PHP 代码如下所示(也仅用于测试目的):
echo json_encode($_POST));
结果是:什么都没有,null。$_POST 似乎是空的。我已经搜索并尝试了很多东西,但大多数答案(甚至在 stackoverflow 上)都是关于表单的,人们说我需要序列化表单的内容。但是,我根本没有使用表格。
我也试过
data: JSON.stringify({ "todoitem" : "test" })
正如一些人建议的那样,但这也不起作用。我确实知道数据正在传输,因为我尝试了这个小小的 PHP hack:
echo file_get_contents('php://input');
这准确地显示了数据:todoitem = test. 那么这一切都错在哪里呢?我正在为此工作几天!提前谢谢