oauth - angular2 http.post method throws typeerror{} exception -


i tried change existing angularjs library angular2 need. http.post method in below code throws typeerror {} exception. please stuck on this.

login() {   return new promise((resolve, reject) => {     if(typeof jssha !== "undefined") {       var signatureobj = (new oauthutility()).createsignature("post", this.magentooptions.baseurl+"/oauth/initiate", this.oauthobject, {oauth_callback: "http://localhost/callback"}, this.magentooptions.clientsecret, null);                                          let headersinitiate = new headers();       headersinitiate.append('authorization',signatureobj.authorization_header);       headersinitiate.append('content-type','application/x-www-form-urlencoded');       let url = this.magentooptions.baseurl + "/oauth/initiate";       let callback = "oauth_callback=http://localhost/callback";        try{         this.http.post(url, callback,{headers: headersinitiate})          .subscribe(           (result) => {           console.log("i inside");           var rparameters = (result).split("&");                             .....       }       catch(exception){         console.log(exception)       } 

you should try that:

var signatureobj = (new oauthutility()).createsignature("post",       this.magentooptions.baseurl+"/oauth/initiate", this.oauthobject,      {oauth_callback: "http://localhost/callback"},      this.magentooptions.clientsecret, null);    let headersinitiate = new headers();  headersinitiate.append('authorization',           signatureobj.authorization_header); headersinitiate.append('content-type',           'application/x-www-form-urlencoded'); let url = this.magentooptions.baseurl + "/oauth/initiate";  let payload = ' ... '; this.http.post(url, payload,{headers: headersinitiate})     .subscribe(       (result) => {         console.log("i inside");         var rparameters = (result).split("&");         (...)       }); 

here comments have on code:

  • the second parameter of post method should string corresponding payload not callback. see headers want send url-encoded form, need create own
  • the try catch isn't necessary since executing http asynchronous , errors can "catched" within second parameter (another callback) of subscribe method.
  • you don't need @ promise. http, angular2 uses observables under hood. target asynchronous processing well.

after fixing of this, think won't have error anymore...

hope helps you, thierry


Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -