我有一个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
答案 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);
}
});
}