oauth工作后,离子2 http请求

时间:2016-06-06 00:35:22

标签: ionic-framework angular httprequest ionic2

我有一个按钮重定向到此功能

loginGoogle() {
    this.cordovaOauthG.login().then((success) => {
      console.log("Google Login DONE ");
      if (success != null) {
        console.log(JSON.stringify(success));
        //alert(success.access_token);

        if (success.access_token != null && success.access_token != '') {
          var params = "google_id=" + success.access_token;
          // var token = success.access_token;
          // this.postLoginGoogle(params);
          this.tesLogin();
        }
      }
    }, (error) => {
      alert(error);
    });
  }

这是http请求的功能

tesLogin(){
    // var params = "google_id="+gid;
    var params = "google_id="+'ya29.Ci_4ApeVHCD7av30Y82JRZPLG4T9ZUgmU1SNLUGIlVV_ufAcCoBc4ILqsY6Ah55i-g';
    var headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    console.log(params);
    this.http.post(Config.base_url + 'api/user-account/login-google', params, {headers: headers})
        .map(res => res.json()).subscribe(data => {
      console.log(data);
      if (data.success) {
        this.local.set('access_token', data.message);
        this.menu.enable(true);
        this.nav.setRoot(HomePage);
      }
      else {
        this.doAlert("Incorrect email or password");
      }
    });
}

我的问题是,每当我尝试使用success.access_token进行调用时,它都无法正常工作 但如果我在没有任何参数的情况下调用请求(只是输入一些随机字符串),那么它可以工作 我尝试使用chrome中的移动检查器对其进行调试,无论是哪种方式都返回错误(工作帖子和工作帖子都没有返回错误) EXCEPTION:SyntaxError:意外的令牌<在位置1的JSON中

1 个答案:

答案 0 :(得分:0)

我建议在标头中不在参数中发送身份验证令牌。这样的事情:

  

var headers = new Headers();

     

headers.append(' Content-Type',' application / x-www-form-urlencoded');     headers.append('授权',' Bearer' + authToken);