javascript - Acync JS HTTP Request Advice Request -
javascript - Acync JS HTTP Request Advice Request -
i'm creating javascript library project im doing makes rest calls based on params feed it. sec day of project , i'm looking advice. if set request async returns request can't access object value, if set false in phone call returns object.
i read stack articles on async js request, , can't seem wrap head around phone call backs , promises.
this works: request.open("delete", url, false);
this doesn't: request.open("delete", url, true);
(function(window){ function definecynergi(){ var cynergi = {}; cynergi.get = function(url){ var request = makehttpobject(); request.open("get", url, false); request.send(null); homecoming json.parse(request.responsetext); } cynergi.delete = function(url){ var request = new xmlhttprequest(); request.open("delete", url, false); request.setrequestheader('accept', 'application/localhost.com:3000+json; version=1'); request.send(); deletestatus = request.statustext; homecoming deletestatus; } cynergi.insert = function(url, data){ var request = new xmlhttprequest(); request.open("post", url, false); request.setrequestheader('accept', 'application/localhost.com:3000+json; version=1'); request.send(json.stringify(data)); sentstatus = request.statustext; homecoming sentstatus; } cynergi.update = function(url, data){ var request = new xmlhttprequest(); request.open("patch", url, false); request.setrequestheader('accept', 'application/localhost:3000+json; version=1'); request.send(json.stringify(data)); updatestatus = request.statustext; console.log(request); homecoming updatestatus; } homecoming cynergi; } if(typeof(cynergi) === 'undefined'){ window.cynergi = definecynergi(); } })(window); function makehttpobject() { seek {return new xmlhttprequest();} grab (error) {} seek {return new activexobject("msxml2.xmlhttp");} grab (error) {} seek {return new activexobject("microsoft.xmlhttp");} grab (error) {} throw new error("could not create http request object."); }
you should this:
var request = new xmlhttprequest(); request.open('get', youruri, true); // true = async request.send(); request.onreadystatechange(function () { if(request.readystate === 4){ /*enter code should executed when request done (optional)*/ switch(request.status) { case 200: //do stuff case 404: //do other stuff } } });
or this:
var request = new xmlhttprequest(); request.open('get', youruri, true); request.addeventlistener('load', function () { //code should executed when succes. }); request.addeventlistener('error', function () { //code should executed when error respone. }); request.send();
javascript
Comments
Post a Comment