我的应用程序有问题。我创建有角度的应用程序并用cordova包装。在android模拟器中,请求url很好,但是当我复制文件并在手机中进行测试时,URL是错误的。
我的请求:http://111.111.11.111/myReq-很好
在我的手机上,在Cordova构建之后:file:/// android_asset / www / null / login -bad
这是我的错误:
POST文件:/// android_asset / www / null / login net :: ERR_FILE_NOT_FOUND
我尝试解决方法:
ng build --prod
和cordova build --prod
这是我的要求:
userLogin(login: string, password: string): Observable<any> {
const baseUrl = 'http://111.111.11.111/myReq'
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Authorization': 'myToken',
})
};
return this.http.post<any>(`${baseUrl}/login`, JSON.stringify({login, password}), httpOptions);
}
,没有任何效果。我该如何解决?
答案 0 :(得分:1)
由于我的假设是正确的,所以我会给出一个真实的答案,请创建另一个变量,该变量包含将接收POST请求的完整网址
const requestUrl = `${baseUrl}/login`
return this.http.post<any>(requestUrl, JSON.stringify({login, password}), httpOptions)
如果由于某种原因模板变量对您不起作用(请执行控制台日志以检查值),只需将两个字符串连接起来,例如follow
const requestUrl = baseUrl + '/login'
return this.http.post<any>(requestUrl, JSON.stringify({login, password}), httpOptions)