を取得するために失敗したときに、私は、私はURLが理由有効期限が切れたトークンのいずれであってもよく、適切にJSONを読み込むことができませんでしたときに、ダイアログボックスをポップアップ表示しようとしています、JavaScriptでAjaxコードの下に働いているに達していない失敗どのような場合でも、コードがエラーになるか、失敗すると予想していますが、それは起こっていません。 URLでJSONが正常に読み込まれると、正常終了ブロックと完全ブロックが正常にヒットしていますが、URLに失敗するとヒットすることはありません。私はasync: false
を使用しようとブール変数weHaveSuccessに確認しようとしましたが、コードの最後の行にあるconsole.log(weHaveSuccess);
は、成功/エラーが実行中であっても前に実行してきているし、それはその、まだ非同期に読み込むように私には思われています。 URLからのJSONロードが失敗したときにエラーブロックがヒットしない理由を知りたいです。事前にエラーやAjaxはJSON
私のコード
function checkUser(myURL, newAccessToken, weHaveSuccess) {
$.ajax({
type: "GET",
dataType: "jsonp",
async: false,
url: myURL + newAccessToken,
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log("Status: " + textStatus);
console.log("Error: " + errorThrown);
},
success: function (data) {
console.log("Hello 2 " + JSON.stringify(data));
weHaveSuccess = true;
console.log('Message from Success ' + weHaveSuccess);
},
complete: function() {
console.log('Message from Complete ' + weHaveSuccess);
}
}).done(function (data) {
alert("Success");
console.log(data);
}).fail(function (data) {
console.log(data);
alert("Failed");
}).always(function() {
alert("In Always");
});
console.log(weHaveSuccess);
}
ありがとう!
をなぜあなたは "「エラー」を扱うとされています – ADyson
これを試してみて、すべての右のハンドラに当たった:https://jsfiddle.net/1rLqcLkb/ 2つの警告が表示される「失敗」と「常にでは」、およびコンソールで、私は「ステータス」とfail' 'からのデータオブジェクトに続く「エラー」の行を取得。 –
当初、私はちょうど成功/エラーを使用して、それをD以来ました私は終わった/失敗して周り遊んでいたidn't仕事。 –