1
XMLHttpRequest를 수행하고 있는데 실패 할 경우 다른 작업 (로컬 파일 읽기)을 수행하고 싶습니다.하지만 XHR 함수 외부에서 수행하려고합니다. getDBfileXHR) 자체.XHR 함수에서 벗어난 XHR에서 오류가 발생했습니다.
저는 Jquery도 사용하고 있습니다.
.done()
및 .fail()
과 작동하지 않는 것 같으면 지연 변수 또는 다른 것을 사용하면 어떨까요? 이 아마도 같은
getDBfileXHR(encode_utf8("http://john:[email protected]/DBfile.jsonp"));
//here I want to do something else if getDBfileXHR fails like this :
fallbackToLocalDBfile();
function getDBfileXHR(url) {
var request = new XMLHttpRequest();
request.open("GET", url, true); //3rd parameter is sync/async
request.onreadystatechange = function() { //Call a function when the state changes.
if (request.readyState == 4) {
if (request.status == 200 || request.status == 0) {
console.log('we get a response from XHR');
var jsonText = request.responseText.replace("callback(", "");
jsonText = jsonText.replace(");", "");
storeJsonInProdata(JSON.parse(jsonText));
dbReadyDeferred.resolve();
} else {
console.log('error : request.status = '+request.status);
}
}
}
console.log("Sending XMLHttpRequest...");
request.send();
}
function fallbackToLocalDBfile(){
$.get('proDB.jsonp').done(function(data){
console.log(data);
//storeJsonInProdata(data);
//dbReadyDeferred.resolve();
});
}
감사합니다! 간단! – Louis