Ajax 无法解析 JSON 数据

Ajax unable to parse JSON data

本文关键字:JSON 数据 Ajax      更新时间:2023-09-26

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

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

从 computeculate.php 返回的示例 JSON 输出:

{
"output_msg":"Success!",
"avg":5.79916666667,
"var":4.63505345486,
"n":40,
"est":"1",
"min":"3",
"max":"4"
}

任何提示将不胜感激。

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