首页 文章

无法在离子中使用API进行身份验证的正确方法

提问于
浏览
1

我有登录的API,但我是Ionic的新手,无法为登录做出正确的方法 .

这是我的服务:providers / restapi / restapi.ts

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';

/*
Generated class for the RestapiProvider provider.
*/
@Injectable()
export class RestapiProvider {

apiUrl = 'http://192.168.1.10/honeybee/register';

constructor(public http: HttpClient) {
console.log('Hello RestapiProvider Provider');
}

getUsers(endpoint: string, body: any, reqOpts?: any) {
return this.http.post(this.apiUrl+'/user_Login' + endpoint, body, reqOpts);
}

}

这是我的login.ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { RestapiProvider } from '../../providers/restapi/restapi';

/**
* Generated class for the LoginpagePage page.
*
* See https://ionicframework.com/docs/components/#navigation for more info. 
* Ionic pages and navigation.
*/

 @IonicPage()
 @Component({
  selector: 'page-loginpage',
  templateUrl: 'loginpage.html',
})
export class LoginpagePage {
 users: any;
 constructor(public navCtrl: NavController, public navParams: NavParams,
  public restProvider: RestapiProvider) {
  this.getloginUsers();
 }

 ionViewDidLoad() {
  console.log('ionViewDidLoad LoginpagePage');
 }

 getloginUsers() {
  this.restProvider.getUsers()
  .then(data => {
    this.users = data;
    console.log(this.users);
   });
  }

}

我无法在getUsers()方法中传递参数,因为我是离子的新手 . 请帮我正确的方法 .

1 回答

  • 1

    它似乎基于您的提供程序,您正在使用Angular 4.3与HttpClient依赖于Observables . 请在此处查看有关如何正确实施呼叫的更多详细信息:https://angular.io/guide/http

    在您的情况下,您的提供程序中有此方法getUsers():

    getUsers(endpoint: string, body: any, reqOpts?: any) {
        return this.http.post(this.apiUrl+'/user_Login' + endpoint, body, reqOpts);
    }
    

    它返回Observable,你必须订阅它以使其“行动”(请求你) .

    所以在你的组件代码中你应该有类似的东西:

    getloginUsers() {
      this.restProvider.getUsers().subscribe(
          (data) => {
              this.users = data;
          },
          (error) => { 
              console.log(error);
          })
    }
    

    你的getUsers方法也需要很多参数( endpoints ,正文等) . 请不要忘记通过那些;)

相关问题