我正在使用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请求。
答案 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进行检查。