我知道使用 JSONP 技术 http://en.wikipedia.org/wiki/JSONP我们可以创建一个跨域 Ajax 请求。
但是对于这个不算“纯正传统”的问题。
我只是想知道原生/混合应用是否也适用“同源策略”
http://en.wikipedia.org/wiki/Same-origin_policy
这件事似乎有很多困惑。
我的一个 friend 发誓说他用“Ajax”代理将 Sencha Touch 2.3.1 + PhoneGap 3 连接到他的后端,我觉得很难相信(代理应该是 JSONP IMO),或者这只需要特殊的服务器配置因为从未应用同源策略,所以浏览器永远不会参与?
我知道这个问题可能不符合 SO 的精神,但我认为关于这个主题的一个好的答案会帮助很多人,因为我一直找不到答案。
最好的问候@code4jhon
最佳答案
PhoneGap 应用程序在 webview 中运行,而不是在浏览器中运行,因此跨源不是 PhoneGap 应用程序的问题,您可以对任何 URL 执行 AJAX 调用。
唯一需要注意的是config中有一个白名单参数“access origin”,用于限制对某些特定url的访问。
对于较旧的 PhoneGap 版本,访问源的默认设置是本地主机,但现在默认设置为“*”,允许访问任何 URL。
PhoneGap 不需要 JSONP 或 cors header 。
关于javascript - 纯和传统的 Ajax 请求是否可以在 native /混合移动应用程序上使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21915443/