Saturday, 15 August 2015

javascript - fallback on XHR fail, outside of the XHR function -



javascript - fallback on XHR fail, outside of the XHR function -

i doing xmlhttprequest , fallback on doing else (reading local file) if fails, want outside of xhr function (getdbfilexhr) itself.

i using jquery too.

how possible, given fact doesn't seem work .done() , .fail(), maybe deferred variable or else ?

getdbfilexhr( encode_utf8("http://john:hispasswd@mysite.com/dbfile.jsonp") ); //here want else if getdbfilexhr fails : fallbacktolocaldbfile(); function getdbfilexhr(url) { var request = new xmlhttprequest(); request.open("get", url, true); //3rd parameter sync/async request.onreadystatechange = function() { //call function when state changes. if (request.readystate == 4) { if (request.status == 200 || request.status == 0) { console.log('we response 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(); }); }

mmm maybe :

var d=$.deferred() function getdbfilexhr(url) { .... if (request.readystate == 4) { ... d.resolve(_mydata); } else { console.log('error : request.status = '+request.status); d.reject(_myerror); } } } console.log("sending xmlhttprequest..."); request.send(); } d.done(function (a){...}).fail(function (b){});

javascript jquery

No comments:

Post a Comment