【问题标题】:ionic3 Http failure response for (unknown url): 0 Unknown Error for android and ios build , this works fine with "ionic serve"ionic3 Http failure response for (unknown url): 0 Unknown Error for android and ios build ,这适用于“离子服务”
【发布时间】:2018-11-27 05:16:14
【问题描述】:

如果使用ionic3.0,如何解决从android和ios构建请求的跨源请求的问题。我可以使用浏览器中的 ionic serve 访问相同的 en 点,但是当我尝试进行生产构建并访问端点时,我收到了上述错误。

我什至尝试了 ssl 服务器测试检查,我得到这个“评估失败:不支持安全协议”。我不知道如何解决这个问题。有没有人面临同样的问题?或者知道如何解决这个问题.....

我已经导入了

import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';

并设置标题

   headers = new HttpHeaders().set('Content-Type', "application/json");


 return new Promise((resolve, reject) => {
                this.http.post(TASK.BASEURL + task, requestData, { headers: headers, params: extraParams })
                  .map(res => res)
                  .subscribe(response => {
                    resolve(response);
                  }, error => {
                    reject(error)
                  });
              });

------------------------错误日志 ---------- ----------------------

11-27 18:09:55.919 5813-10986/? D/NetworkSecurityConfig:使用资源 network_security_config debugBuild 中的网络安全配置:false 11-27 18:09:55.985 10808-10808/io.ionic.starter D/SystemWebChromeClient:http://localhost:8080/#/login:第 0 行:从源 'http://localhost:8080' 访问 XMLHttpRequest 已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。 11-27 18:09:55.985 10808-10808/io.ionic.starter I/chromium: [INFO:CONSOLE(0)] "从源 'http://localhost:8080' 访问 XMLHttpRequest 在 'http://www.xxxxxxxxxxxxx.com/api/login' 已被阻止CORS 策略:对预检请求的响应未通过访问控制检查:预检请求不允许重定向。”,来源:http://localhost:8080/#/login (0) 11-27 18:09:56.454 7163-7182/? I/Finsky:[1422] com.google.android.finsky.bp.an.run(6):执行器的统计信息:BlockingExecutor com.google.android.finsky.bp.ao@afe5f2f [运行,池大小 = 0,活动线程 = 0,排队任务 = 0,已完成任务 = 7] [1422] com.google.android.finsky.bp.an.run(6):执行器的统计信息:LightweightExecutor com.google.android.finsky.bp.ao@ca9093c [运行,池大小 = 4,活动线程 = 0 , 排队任务 = 0, 已完成任务 = 55] 11-27 18:09:56.500 7163-7182/? I/Finsky:[1422] com.google.android.finsky.bp.an.run(6):执行器的统计信息:bgExecutor com.google.android.finsky.bp.ao@53166c5[运行,池大小 = 4,活动线程 = 0,排队任务 = 0,已完成任务 = 9]

【问题讨论】:

  • 我删除了 cors 标签,因为问题中引用的错误都不是 CORS 错误。
  • 如何使用 ionic serve 在浏览器中使用它。可能你在浏览器中使用 angular http 吗?
  • 是的,我正在使用来自 Angular 的相同 httpClient。
  • 哦,你能把你的代码有问题吗?
  • 还有错误日志的屏幕截图

标签: ionic-framework ionic3 angular-httpclient


【解决方案1】:

这是正确的方法

import { HttpClient, HttpHeaders, HttpParams } from '@angular/common/http';




sendPostRequest(){

const httpOptions = {
  headers: new HttpHeaders({
    "Content-Type": "application/json"
  }), 
  params: extraParams
}; 

return this.http.post("url", bodydata); 
              
}



//call method 
callPostmethod(){
sendPostRequest.subscribe((response)=>{
//success
console.log("success"+JSON.stringify(response)); 
}, (error)=>{
//error
console.log("erorr"+JSON.stringify(error)); 
})
}

【讨论】:

  • 哦,抱歉,我刚刚看到您的错误日志。这是cors问题。参考blog.ionicframework.com/handling-cors-issues-in-ionic
  • 但这是 cors 问题,因为我也多次面临问题。我已经在服务器中修复了。
  • 你是如何在服务器中修复它的?你能不能给我一些指导方针,因为它把我钉在了外面
  • 对不起,我不管理服务器端。您与您的支持开发人员讨论过修复 cors 问题。
猜你喜欢
  • 1970-01-01
  • 2018-08-26
  • 1970-01-01
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-10
  • 2018-12-04
相关资源
最近更新 更多