以下JS代码段:
var data_JSON = {
input: 'test',
message: 'Sending...'
};
$.ajax({
url: 'main_php.php',
type: 'POST',
data: data_JSON,
dataType : 'json',
contentType: 'application/json',
success: alert(data),
error: function (request, status, error) {
alert(error);
}
});
以下关联的PHP代码(main_php.php):
if ($_POST){
$vals = array(
'input' => $input,
'message' => $message
);
header('Content-Type: application/json');
echo json_encode($vals);
}
总是结果错误(error
在$.ajax
中运行),无论我尝试过什么。在浏览器的开发者控制台中,我可以浏览错误消息的完整长度:
SyntaxError:ajaxConvert中解析(本机)的输入意外结束 ([...] / jquery-3.0.0.js:8544:19)完成后 ([...] / jquery-3.0.0.js:9011:15)XMLHttpRequest。 ([...] / jquery的-3.0.0.js:9303:9)
哪个完全 JSON无法解析的点?这个错误的原因是什么,我该如何解决?
注意:JSON.stringify
无效,如果有帮助的话。
答案 0 :(得分:1)
尝试:
JS:
var data_JSON = {
input: 'test',
message: 'Sending...'
};
$.ajax({
url: 'main_php.php',
method: 'POST',
data: data_JSON,
dataType : 'json',
success: function(data){
alert(JSON.stringify(data)) ;
} ,
error: function (request, status, error) {
alert(error);
}
});
和 PHP:
if ($_POST){
$vals = array(
'input' => $input,
'message' => $message
);
header('Content-Type: application/json');
echo json_encode($vals);
}