Http请求可在ionic服务上使用,但不适用于“ ionic cordova运行android --device”

时间:2019-06-05 14:08:08

标签: rest http ionic-framework ionic4

我正在使用Ionic本机http发出服务器请求。该服务器托管在AWS上,并且api已启动并正在运行(已由邮递员验证)。

当我做离子服务时,请求就会通过并起作用,但是当我尝试在设备上运行它时,它将无法工作。经检查,我得到“ net :: ERR_CLEARTEXT_NOT_PERMITTED”,并且帖子以OPTIONS的形式发送

ERROR HttpErrorResponse {headers:HttpHeaders,status:0,statusText:“ Unknown Error”,url:“ http://18.220.143.133/api/login”,ok:false,...}

已经尝试添加到config.xml

login(user: User): Observable<AuthResponse> {
return this.httpClient.post('http://18.220.143.133/api/login', user, {
  headers: new HttpHeaders().set('Content-Type', 'application/json'),
}).pipe(
  tap(async (res: AuthResponse) => {

    if (res.success == true) {

      await this.storage.set('user',res.user);

       await this.storage.set('ACCESS_TOKEN', res.token);
      this.authSubject.next(true);
    }

  })
);

}

我希望移动设备也能通过http请求。

2 个答案:

答案 0 :(得分:1)

我也遇到了同样的情况,直到在我添加的config.xml文件中:

<preference name = "android-targetSdkVersion" value = "27" />

答案 1 :(得分:0)

与API调用的CORS有关。 This可能会有所帮助。另外,由于您使用的是Angular HTTP请求,请在此处HTTP request from angular will send with method OPTIONS instead of POST进行检查。