ajax请求解析:SyntaxError:意外的令牌:

时间:2016-08-28 23:00:19

标签: json ajax

我发出ajax请求:

$.ajax({
    url: "http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en&jsoncallback=?",
    dataType: 'json'
});

并收到错误:

  

SyntaxError:意外的令牌:

当我在开发工具中点击该错误时,我看到这样一个对我来说非常好的对象:

{
    "quoteText":"Reality leaves a lot to the imagination. ",
    "quoteAuthor":"John Lennon",
    "senderName":"",
    "senderLink":"", 
    "quoteLink":"http://forismatic.com/en/9dceb1ebf1/"
}

问题出在哪里?我无法找到解决方案。

1 个答案:

答案 0 :(得分:0)

在URL中放置=?会覆盖dataType,并告诉jQuery发出JSON请求而不是XHR请求。

您请求的URL返回JSON,而不是JSONP,因此您会收到错误。

从网址中删除&jsoncallback=?

然后您将收到此错误:

  

XMLHttpRequest无法加载http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en&js。请求的资源上没有“Access-Control-Allow-Origin”标头。

......解释in this question