Javascript错误:SyntaxError:JSON.parse:JSON数据的第1行第1列的意外数据结尾

时间:2016-05-08 15:19:26

标签: javascript jquery json

我有一个CS:GO投注网站,当我尝试转到该页面时 在我确认我不是使用recaptcha的机器人之后撤回皮肤或类似的东西我得到了这个错误:

  

Javascript错误:SyntaxError:JSON.parse:JSON数据的第1行第1列的数据意外结束

以下是代码:

function redeem(){
    var code = $("#promocode").val();
    $.ajax({
        url:"/redeem?code="+code,
        success:function(data){     
            try{
                data = JSON.parse(data);
                if(data.success){
                    bootbox.alert("Success! You've received "+data.credits+" credits.");                    
                }else{
                    bootbox.alert(data.error);
                }
            }catch(err){
                bootbox.alert("Javascript error: "+err);
            }
        },
        error:function(err){
            bootbox.alert("AJAX error: "+err);
        }
    });
}

这是我的语法错误:

SyntaxError: Unexpected end of JSON input
at Object.parse (native)
at Object.$.ajax.success (http://www.gamesnodie.com/template/js/offers.js?v=106:249:29)
at j (http://www.gamesnodie.com/template/js/jquery-1.11.1.min.js:1:27244)
at Object.k.fireWith [as resolveWith] (http://www.gamesnodie.com/template/js/jquery-1.11.1.min.js:1:28057)
at x (http://www.gamesnodie.com/template/js/jquery-1.11.1.min.js:1:85993)
at XMLHttpRequest.b (http://www.gamesnodie.com/template/js/jquery-1.11.1.min.js:1:90047)

网络标签结果: http://prntscr.com/b1pao5

3 个答案:

答案 0 :(得分:0)

请在您的问题中发布您从服务器收到的JSON。

此问题可能与格式错误的JSON或您的请求的错误标头内容类型有关,实际应该是" application / json" as"内容类型"对于JSON。

答案 1 :(得分:0)

我通过生成一个Recaptcha密钥并将其添加到配置文件中解决了该问题。 之后问题解决了。

答案 2 :(得分:-1)

在ajax调用中定义dataType json,然后您不需要使用JSON.parse()。

function redeem(){
    var code = $("#promocode").val();
    $.ajax({
        url:"/redeem?code="+code,
        dataType: 'json',
        success:function(data){     
            try{
                if(data.success){
                    bootbox.alert("Success! You've received "+data.credits+" credits.");                    
                }else{
                    bootbox.alert(data.error);
                }
            }catch(err){
                bootbox.alert("Javascript error: "+err);
            }
        },
        error:function(err){
            bootbox.alert("AJAX error: "+err);
        }
    });
}