我知道在同一主题上有很多问题,我已经阅读了所有这些问题,但它们对我的情况没有帮助。
我正在尝试解析从我的服务器端PHP脚本返回的一些JSON数据。我已经使用JSONLint来验证PHP输出是否是有效的JSON字符串。
我有以下ajax代码:
$(document).ready(function(){
$('#update-stats-submit').on("click", function(){
if (requestRunning) { // don't do anything if an AJAX request is pending
return;
}
$.ajax({
type: "GET",
url: "calculate.php",
data: "q="+$("#table-info").val(),
dataType: "json",
success: function(data){
$("#update-result").animate({ opacity: 100 });
$("#update-result").html(data.output_msg);
$("#update-result").delay(3000).animate({ opacity: 0 });
setTimeout(function() {
$("#update-result").empty();
}, 4000);
alert(data.avg + "\n" + data.var + "\n" + data.count + "\n" + data.est + "\n" + data.min + "\n" + data.max);
},
error: function(xhr, ajaxOptions, thrownError){
$("#update-result").html(xhr.responseText + "\n" + xhr.status + "\n" + thrownError);
}
})
return false;
});
});
我没有让这段代码成功执行。每次返回以下错误。
200 SyntaxError: Unexpected end of input
从calculate.php返回的示例JSON输出:
{
"output_msg":"Success!",
"avg":5.79916666667,
"var":4.63505345486,
"n":40,
"est":"1",
"min":"3",
"max":"4"
}
任何提示都将不胜感激。
答案 0 :(得分:0)
上面的ajax脚本基本上没什么问题。似乎该错误与服务器端PHP代码相关,允许脚本在某些GET请求条件下退出(。)