Cordova在角度应用程序中构建更改请求网址

时间:2019-01-11 20:37:19

标签: javascript android angular api cordova

我的应用程序有问题。我创建有角度的应用程序并用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

我尝试解决方法:

  1. ng build --prodcordova build --prod
  2. 将文件和目录重命名为小写
  3. 添加行:首选项名称=“ loadUrlTimeoutValue”值=“ 60000”或 70000到config.xml

这是我的要求:

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);

  }

,没有任何效果。我该如何解决?

1 个答案:

答案 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)