大家好
我遇到了一个问题,当我点击退出并验证我的重新验证码后,它给了我这个错误:
Javascript error: SyntaxError: Unexpected end of JSON input at Object.parse (native) at Object.success (http://blur/template/js/offers.js?v=106:249:17) at j (http://blur/template/js/jquery-1.11.1.min.js:1:27244) at Object.fireWith [as resolveWith] (http://blur/template/js/jquery-1.11.1.min.js:1:28057) at x (http://blur/template/js/jquery-1.11.1.min.js:1:85993) at XMLHttpRequest.b (http://blur/template/js/jquery-1.11.1.min.js:1:90047)
所以我一直在寻找,这是我的代码:
$.ajax({
"url":url,
dataType: 'json',
success:function(data){
try{
console.log("Testing purposes: " + data);
console.log("URL:" + url + g);
//data = JSON.parse(data);
if(data.success){
console.log(data);
$("#left .reals").empty();
$("#right .reals").empty();
$("#right .bricks").removeClass("hidden");
$("#avail").html(formatNum(data.balance));
var count = data.items.length;
var eleA = [];
for(var i=0;i<count;i++){
var item = data.items[i];
var url = IMG.format(item.img,110,50);
var price_class = "ball-1";
if(DEPOSIT){
price_class = "ball-0";
}
var slot_class = "";
var price_content = item.price;
if(price_content==0){
price_content = item.reject;
slot_class = "reject";
}else{
price_content = formatNum(price_content);
}
bot = 0;
if(item.botid){
bot = item.botid;
}
var botLabel = "";
if(!DEPOSIT){
botLabel = "Bot "+bot;
}
var ele = DIV.format(
item.name,i,item.price,bot,
item.name,i,item.price,bot,item.assetid,url,
item.name,
price_class,price_content,
slot_class,botLabel,item.view);
eleA.push(ele);
}
$("#left_number").html(count);
document.getElementById("left").getElementsByClassName("reals")[0].innerHTML = eleA.join('');
addPadding("#left",6);
if(data.fromcache){
inlineAlert("success","Loaded "+count+" available items from cache - <a href=\"javascript:loadLeft('nocache')\">force reload</a>");
}else{
inlineAlert("success","Loaded "+count+" available items.");
}
}else{
inlineAlert("error",data.error);
if(data.count>0){
cmd();
}
}
if(data.tid){
showPending(data);
}
}catch(err){
inlineAlert("error","Javascript error: "+err.stack);
console.log(err);
console.log(url);
}
},
error:function(err){
inlineAlert("error","AJAX error: "+err.statusText + "<br />" + err.stack);
},
});
}
编辑:我这样做是为了不必解析为JSON。在成功之前添加“dataType:'json',”:函数.. 但不是一大堆错误,它给了我AJAX错误:好的。所以我添加了err.stack,它说“undefined”.. EDIT2:更新了我现在正在使用的代码,只有它给出的错误是现在的AJAX错误:OK(未定义)..
答案 0 :(得分:0)
您应该在调用data = JSON.parse(data)之前添加一个保护,看看它是否为空字符串。
因为尝试这个:
JSON.parse("")
给了我这个错误:
Uncaught SyntaxError: Unexpected end of JSON input(…)