Ajax无法解析JSON数据

时间:2015-01-17 05:22:18

标签: javascript jquery ajax json

我知道在同一主题上有很多问题,我已经阅读了所有这些问题,但它们对我的情况没有帮助。

我正在尝试解析从我的服务器端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"
}

任何提示都将不胜感激。

1 个答案:

答案 0 :(得分:0)

上面的ajax脚本基本上没什么问题。似乎该错误与服务器端PHP代码相关,允许脚本在某些GET请求条件下退出(。)