2016-08-28 7 views
-2

私はAJAXリクエストします:私は、このような参照のdevのツールでそのエラーをクリックするとAJAXリクエストの解析:でSyntaxError:予期しないトークン:

SyntaxError: Unexpected token :

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

とエラーを取得します私のためにかなり大丈夫なオブジェクト:

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

問題はどこですか?私は解決策を見つけることができません。

+0

あなたが提供したURLは、JSONPサービスではありませんが、これを 'jsoncallback =?'パラメータを使用して使用しようとしています。クロスオリジン要求にも設定されていないため、プロキシを使用する必要があります。 – Phil

+1

[AJAXでクロスドメインHTMLページを読み込む]の可能な複製(http://stackoverflow.com/questions/15005500/loading-cross-domain-html-page-with-ajaxax) – Phil

答えて

0

URLに=?を入れると、dataTypeが上書きされ、jQueryはXHR要求ではなくJSONP要求を行うように指示します。

リクエストしているURLがJSONPではなくJSONを返すため、エラーが発生します。

URLから&jsoncallback=?を削除します。

あなたは、このエラーが発生します。

XMLHttpRequest cannot load http://api.forismatic.com/api/1.0/?method=getQuote&format=json&lang=en&js . No 'Access-Control-Allow-Origin' header is present on the requested resource.

... in this questionを説明しています。

関連する問題