Javascript JSON分析错误数据意外结束

Javascript JSON分析错误数据意外结束,javascript,json,ajax,Javascript,Json,Ajax,process函数用于定义一个新的ajax请求,然后将其发送到php文件。当在接受capital查询字符串的文本框中键入内容时,控制台会显示一个错误,上面写着“SyntaxError:JSON.parse:JSON数据的第1行第1列的数据意外结束”,这是我的函数 function process(state, capital) { xmlHttp.open("_GET", "statecapitals.php?state=" + state + "&capital=" + cap

process函数用于定义一个新的ajax请求,然后将其发送到php文件。当在接受
capital
查询字符串的文本框中键入内容时,控制台会显示一个错误,上面写着“SyntaxError:JSON.parse:JSON数据的第1行第1列的数据意外结束”,这是我的函数

  function process(state, capital) {


xmlHttp.open("_GET", "statecapitals.php?state=" + state + "&capital=" + capital, true);

xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState === 4 && xmlHttp.status === 200) {            
        var resultJSON = JSON.parse(xmlHttp.responseText);
        var result = resultJSON.capital;

        if (result === 1) {
            currentScore = score + 2;
            objScore.innerHTML = currentScore;
            showState();
            console.log(currentScore);
        };


    };



};

 xmlHttp.send(null);
};

我想你需要先用

  console.log(xmlHttp.responseTex);
就在下面

  if (xmlHttp.readyState === 4 && xmlHttp.status === 200)
在你的代码中。并检查响应是否为json格式,或者是否附带任何其他字符串

我想这可能对你有帮助


谢谢

你确定你的
xmlHttp.responseText
真的是JSON吗?你能给出一个实际JSON的例子吗?json很挑剔,必须精确格式化才能使
json.parse
表现良好。有效,如:
{name:“bob”}
?或有效,如:
{“name”:“bob”}
?如在第二个oneGET请求中,响应中有字符限制。可能会发生响应太大,然后被截断的情况。之后,parse命令抱怨JSON无效。回复中有多少个字符?如果它太大,解决方法是使用POST请求。