HTTP ajax呼び出しでネットワーク関連の問題を処理しようとしました。だから、私は一時的にIISでそれぞれのAPIのサービスを停止し、シャットダウンされたAPI - http://localhost:1000/GetData
を呼び出そうとしました。
fetch("http://localhost:1000/GetData")
.then(handleErrors)
.then(function(response) {
return response.Json();
}).catch(function(error) {
console.log(error);
});
私は
すぎfetch("http://localhost:1000/GetData")
.then(response => {
if(response) {
if (response.status === 200) {
alert('Super');
return response.json();
} else {
alert('Hai');
return '';
}
} else {
alert('Oooops');
return '';
}
})
.catch(function(error) {
console.log(error);
});
を次のコードを試してみました。しかしそのは失敗し、直接任意のalert
をトリガし、そのエラーをスローせずにcatchブロックを打ちます。さらにresponse.json();
はSuccessブロックにありますが、その実行方法はわかりません。
TypeError: response.json is not a function
Stack trace:
onFetchError/<@http://192.168.4.159:3000/app.0df2d27323cbbeada2cd.js:9946:13
親切にどのステータスコードをチェックする方法と、ネットワークエラーを処理するために(など、404つまり、ネットワークが利用できない、)
呼ばウェブサイト私を助ける:this issue on Githubに基づいてhttps://www.tjvantoll.com/2015/09/13/fetch-and-errors/
これらのif文の前にコンソールログに記録しましたか? –
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch apiは 'response.status'を表示せず、' response.ok'を表示します。 .statusはXMLHttpRequestオブジェクトのようなものです –
ああ、これはまったくjQuery関連ではない、フェッチはネイティブJSの実験的なXHR関数 –