phonegap应用程序是否需要任何CORS更改(如设置Access-Control-Allow-Origin:*)才能正常工作?我在Heroku上托管了一个安静的API,并且想知道我是否需要设置该头以便我的phonegap应用程序调用该服务?CORS和phonegap应用程序
我在想,因为phonegap应用程序并不是真的托管在一个域上,那么CORS不是必需的,我不会得到任何跨域问题?
如果有人能向我解释为什么这是或不是这种情况,那将是非常好的。
phonegap应用程序是否需要任何CORS更改(如设置Access-Control-Allow-Origin:*)才能正常工作?我在Heroku上托管了一个安静的API,并且想知道我是否需要设置该头以便我的phonegap应用程序调用该服务?CORS和phonegap应用程序
我在想,因为phonegap应用程序并不是真的托管在一个域上,那么CORS不是必需的,我不会得到任何跨域问题?
如果有人能向我解释为什么这是或不是这种情况,那将是非常好的。
PhoneGap你可以将XHR直接连接到远程服务器,它应该“只是工作”。跨域策略不适用于PhoneGap (出于各种原因,基本上是因为您的应用本质上是 运行在设备上的file:// URI)。
请注意,您必须为您的应用程序设置白名单 才能访问这些外部域。请检查此链接:
http://docs.phonegap.com/en/1.8.0rc1/guide_whitelist_index.md.html#Domain%20Whitelist%20Guide
是的,你必须激活承载您的API他的服务器上CORS。 我在iOs上运行Phonegap App。我的应用程序从Apache上的服务器API请求json。 我激活服务器上的CORS来获取数据,否则我在我的应用程序中没有任何东西,没有错误,也没有数据。
请注意,配置文件中的访问参数允许您过滤应用程序有权查询的域,但不对服务器的权限进行任何操作。
这是一个答案?或问题?..你需要清理你的答案,以便它对所提供的问题作出回应。您的答案被标记,因为它不清楚 – CodeGodie
由于科尔多瓦5,你将需要添加白名单插件
https://github.com/apache/cordova-plugin-whitelist
在config.xml中添加
<!-- Don't block any requests -->
<access origin="*" />
在Windows Phone上仍然存在CORS问题 –
无默认科尔多瓦(PhoneGap的)平台需要CORS,尽管HTML文件在本地托管(file://
)并且正在访问Web域的事实。
但是,在iOS上,如果您通过cordova-plugin-wkwebview-engine从UIWebView
切换到较新的WKWebView
,那么您确实必须实施CORS。
请记住,此白名单不适用于通过inAppBrowser-Plugin完成的工作。白名单只能在Cordova主浏览器中使用! – Tobias
我想知道为什么[这个答案](http://stackoverflow.com/a/3744697/399414)说'通过文件运行的脚本://对CORS的支持有限',如果远程服务器的XHR应该“正常工作”。 –