首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >离子- $http在移动设备中工作,但在浏览器中显示CORS和预飞错误。

离子- $http在移动设备中工作,但在浏览器中显示CORS和预飞错误。
EN

Stack Overflow用户
提问于 2016-10-24 04:55:32
回答 2查看 839关注 0票数 0

我正在开发一个使用Ionic框架的移动应用程序。我使用$http (带有自定义标题的POST),当我尝试时

离子服务器

在浏览器(chrome,firefox,.)中,我得到

对飞行前请求的响应没有通过访问控制检查:请求的资源上没有“访问-控制-允许-原产地”报头。因此,原产地'null‘不允许访问。响应具有HTTP代码405.

错误。如果我在chrome中启用CORS插件,并尝试相同的插件,我将得到

对于飞行前的响应具有无效的HTTP代码405

错误。

但是,当我将它安装在我的手机(Android/IOS)中时,一切都可以用

离子运行android

离子运行ios

是什么使我的浏览器限制$http,以及为什么我的手机允许它。?Webview与浏览器不同吗?

获取信息:-我使用(默认) cordova插件-控制台、设备、屏幕、状态条、白名单、键盘。

请帮帮我。如果没有正确的理解,我不能简单地构建移动应用程序。提前谢谢。

编辑1

我使用REST来处理自定义的头请求。从现在起,我不允许修改API代码,因为它在很长一段时间内对本地android应用程序运行良好。问题是,当我使用Ionic时,令我感到惊讶的是,它在我的三星Tab和IPad中工作(当我运行时没有肝负荷模式)。

我想知道的是,是什么原因导致我的浏览器和移动设备工作呢?

移动设备中的WebView不像浏览器那样具有安全策略吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-01 07:05:23

为什么我的移动应用程序工作正常,但在浏览器中却不行?

我在我的Ionic项目中使用cordova插件白名单。它实现了用于导航应用程序the视图的白名单策略。检查源

若要使浏览器工作,请在我的ionic.config.json中定义代理。但这只是一项工作。对于生产,我们应该让服务器显式地允许它白名单API调用。检查源

票数 1
EN

Stack Overflow用户

发布于 2017-12-12 18:03:44

@Naveen写了一篇关于http源文件头的浏览器和应用程序内处理之间的区别的博客文章:http://blog.ionicframework.com/handling-cors-issues-in-ionic

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40210942

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档