PhoneGap 跨域问题?

Posted

技术标签:

【中文标题】PhoneGap 跨域问题?【英文标题】:PhoneGap cross domain issue? 【发布时间】:2013-05-15 21:02:08 【问题描述】:

我即将开始开发我的第一个 PhoneGap 应用程序(iosandroid)。对它的工作原理有疑问。

据我了解

    它只是加载 index.html 文件 页面由我们在其中编写的任何 javascript 控制 JS 将操纵 DOM 并赋予其响应式应用的感觉 可以通过 AJAX API 调用从外部服务器推送或拉取数据

我想知道在尝试进行这些 AJAX 调用时是否会出现跨域问题?或者它的工作方式完全不同。

谢谢。

【问题讨论】:

【参考方案1】:

同源策略不适用于 file:// 协议。 http://en.wikipedia.org/wiki/Same_origin_policy#Corner_cases_and_exceptions

PhoneGap 应用程序嵌入了一个 Web 视图,该视图使用它加载本地 html 文件 file://协议。所以你可以从PhoneGap做跨域XHR 应用程序。

【讨论】:

【参考方案2】:

这基本上就是它的工作原理,根据我在两个平台上的经验,webkit 在调用 XML 跨域时是相当宽容的。如果您真的很担心,请尝试使用 JSON 数据。

【讨论】:

谢谢,是的,我是 JSON 的粉丝。将使用它。

以上是关于PhoneGap 跨域问题?的主要内容,如果未能解决你的问题,请参考以下文章

phonegap Android跨域不工作

跨域不适用于 ios phonegap

Phonegap Windows Phone 7 动态 HTML 加载和使用 jQuery 的跨域调用

跨域请求被阻止原因:CORS 预检通道未成功

JSON和JSONP,原来ajax引用这个来实现跨域访问的

AJAX POST To Jersey 启用 RESTful Web 服务跨域