未捕获的SyntaxError:意外的令牌:我在我的MooTools脚本中运行一个AJAX调用,这在Firefox中工作正常但在Chrome中我收到Uncaught SyntaxError: Unexpected token :错误,我无法确定原因。注释掉代码来确定坏代码的位置什么都没有产生,我想这可能是返回JSON的问题。检查控制台我看到返回的JSON是这样的:{"votes":47,"totalvotes":90}我没有看到任何问题,为什么会出现这种错误?vote.each(function(e){
e.set('send', {
onRequest : function(){
spinner.show();
},
onComplete : function(){
spinner.hide();
},
onSuccess : function(resp){
var j = JSON.decode(resp);
if (!j) return false;
var restaurant = e.getParent('.restaurant');
restaurant.getElements('.votes')[0].set('html', j.votes + " vote(s)");
$$('#restaurants .restaurant').pop().set('html', "Total Votes: " + j.totalvotes);
buildRestaurantGraphs();
}
});
e.addEvent('submit', function(e){
e.stop();
this.send();
});});
3 回答

饮歌长啸
TA贡献1951条经验 获得超3个赞
对于可能遇到同样问题的人来说只是一个FYI - 我只需要让我的服务器将JSON作为application / json发回,并且默认的jQuery处理程序工作正常。

至尊宝的传说
TA贡献1789条经验 获得超10个赞
这恰好发生在我身上,原因不在于上述原因。我正在使用jQuery命令getJSON并添加callback=?
使用JSONP(因为我需要跨域),并返回JSON代码{"foo":"bar"}
并获取错误。
这是因为我应该包含回调数据,例如 jQuery17209314005577471107_1335958194322({"foo":"bar"})
这是我用来实现这个的PHP代码,如果使用JSON(没有回调),它会降级:
$ret['foo'] = "bar";finish();function finish() { header("content-type:application/json"); if ($_GET['callback']) { print $_GET['callback']."("; } print json_encode($GLOBALS['ret']); if ($_GET['callback']) { print ")"; } exit; }
希望这将有助于未来的人。
添加回答
举报
0/150
提交
取消