我正在尝试一个简单的测试来了解 JQuery Ajax POST 方法,并且我在我的服务器上设置了一个小示例。但是我无法工作。
我的 JavaScript 如下:
JavaScript:
var json = {"Num String":"2","Num":3,"Num":11,"Num":2,"Num":"?"};
$.ajax({
type: "POST",
url: "sampleJSONPost.php",
data: json, //Data to POST to the server
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function (jqXHR, status, err) {
console.log("Error " + err + " " + status + " " + JSON.stringify(jqXHR)); //Log the Error
},
success: function (data, status, jqXHR) {
console.log(JSON.stringify(data)); //Log the Data returned
$("span").text(data);
}
});
};
这是我的 PHP:
PHP:
<?php
$data = $_POST["data"];
echo json_decode($data);
?>
但是这总是给我带来以下错误:
Error SyntaxError: Unexpected end of input parsererror {"readyState":4,"responseText":"","status":200,"statusText":"OK"}
所以对我来说,PHP 中的 $data 变量似乎没有获取我通过 POST 发送的 JSON,这是正确的吗?如果是这样,任何人都可以帮我找出问题所在吗?我已经尝试过许多其他解决方案,但没有成功,所以我一定错过了一些简单的东西?
最佳答案
更改为
var json = {"data":{"Num String":"2","Num":3,"Num":11,"Num":2,"Num":"?"}};
关于javascript - 无法使用 JSON 从 JQuery Ajax post 获取 PHP 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22531818/