【发布时间】: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