离子2以及来自mysql + php后端的http调用

时间:2017-04-16 15:01:30

标签: php mysql http ionic2

我想知道是否有可能将前端ionic2与后端mysql绑定。我尝试了很多方法,但是,它们都没有用。所以,有人可以举例说明用数据库或其他东西登录auth,或者链接到一个好的教程。

1 个答案:

答案 0 :(得分:1)

最简单的方法是,您需要开发 Restful API ,它与MySQL数据库交互并使用该API从您的Ionic 2应用程序获取和放置数据(CRUD) 。

我已经完成了这种集成,它运行得很好。

<强>更新

auth.ts (提供商)

    @Injectable()
    export class AuthenticationData {

    authenticationEndPoint: string = "url";

      constructor(public http: Http) {
        }

      //login
      loginUser(username: string, password: string): Observable<data-type> {
        let headers = new Headers();
        headers.append('content-type', 'application/json');
        let body = '';
        let options = new RequestOptions({ headers: headers });
        let url = this.authenticationEndPoint + encodeURI(username) + '&password=' + encodeURI(password);

        return this.http.post(url, body, options)
          .map(this.extractData)
          .catch(this.handleError);
      }


  //to extract data
  private extractData(res: Response) {
    let body = res.json();
    return body || {};
  }

  //to handle error
  private handleError(error: Response | any) {
    let errMsg: string;
    if (error instanceof Response) {
      const body = error.json() || '';
      const err = body.error || JSON.stringify(body);
      errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
    } else {
      errMsg = error.message ? error.message : error.toString();
    }
    console.error(errMsg);
    return Observable.throw(errMsg);
  }
}
}