【发布时间】:2016-06-06 00:35:21
【问题描述】:
我有一个按钮重定向到这个功能
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 的移动检查器对其进行调试,无论哪种方式它都会返回这样的错误(工作帖和不工作帖都返回错误) 例外:SyntaxError:意外的标记
【问题讨论】:
-
我已经用 console.log 测试了社交登录结果,它工作正常,这里唯一的问题是 http 请求在使用从社交登录返回的数据时不起作用(打印时很好,不是空)
-
尝试使用
let headers = new Headers({ 'Content-Type': 'application/json' });而不是headers.append('Content-Type', 'application/x-www-form-urlencoded');,尽管您按照auth0.com/blog/2015/10/15/angular-2-series-part-3-using-http 中的说明进行操作
标签: ionic-framework angular httprequest ionic2