$.ajax({
"url": url,
"dataType" : "json",
"async" : false,
"success" : function(e) {
retval = e;
},
"complete" : function(jqXHR, textStatus) {
debugger;
},
"error" : function(jqXHR, textStatus, errorThrown) {
debugger;
},
"xhrFields": {
withCredentials: true
}
})
url
(チャンネル名に置き換えられて{0}
)
スクリプトブレーク例http://api.justin.tv/api/channel/show/{0}.json
のためである私のJavascriptであるX-ドメインソースからJSONを取得するにParseErrorですを取得しますtextStatus "parseserror"でエラーが発生しました。また、jqXHR
にはresponseTextがありませんが、ロードしようとしたすべてのjsonファイルがUncaught SyntaxError: Unexpected token :
というリソースタブに表示されています。また、すべてのAjaxリクエストに対して警告Resource interpreted as Script but transferred with MIME type application/json.
を取得しています。さらに、error
コールバックが実行される前に、ajax呼び出しの下のコードが実行されるため、xドメイン要求は非同期ではないようです。
私の目標は、解析されたJSONオブジェクトをすべてのリクエストで実行するajaxコール成功コールバックをe
とすることです。このコードは、ローカルのjson ajax呼び出しではすでに動作していますが、xドメインのものではありません。 x-domain呼び出しによって返されたjsonは有効であり、parsererrorsになるべきではありません。
誰もが任意のアイデアを持っている場合は、あなたのURLの最後に追加してみてください?JSONP =
おかげ
Better: 'dataType'を' 'jsonp'に設定し、オプション' jsonp: 'jsonp''を追加してください。 docs:http://api.jquery.com/jQuery.ajax/を参照してください。 –