当用户登录后,我将使用电子邮件和密码登录我的发布方法请求,我将在稍后显示。该请求返回带有API密钥的响应,以授权该用户仍在登录以及何时进行任何API调用,我必须在标头中发送此API密钥。
我的问题是,在将该API密钥保存在变量中时,我无法将其传递给另一个提供程序来发出API请求以获取用户信息。您知道我必须在此请求中附加此API密钥。如何将变量从组件传递到提供程序?
我的登录请求:
let userKey = 'userkey';
@Component({
selector: 'page-login',
templateUrl: 'login.html',
providers: [UserProvider] // ADD HERE -> Also add in App.module.ts
})
export class LoginPage {
loading: any;
loginData = { UserEmail:'', Password:'' };
responseData : any;
data: any;
constructor(private UserProvider : UserProvider,public navCtrl:
NavController, public authService: UserProvider, public loadingCtrl:
LoadingController,public http: Http, private toastCtrl: ToastController)
{
}
login(){
this.authService.postData(this.loginData,'Login').then((result) => {
this.responseData = result;
console.log(this.responseData);
let userKey = this.responseData.ApiKey
console.log(userKey);
localStorage.setItem('loginData', JSON.stringify(this.responseData));
this.navCtrl.push(DashboardPage)
console.log(this.loginData)
}, (err) => {
// Error log
});
}