目前,我正在为安卓和iOS系统构建一个使用phonegap的应用程序。本质上,这将是一个网站,但我遇到了一些困难,因为我需要通过ajax (同源策略)进行跨域请求。我想知道是不是在我自己的服务器上制作网站会更好,允许使用PHP,然后在phonegap中使用包装器/框架来模拟网站?这是如何工作的呢?
感谢您的帮助
发布于 2011-04-29 20:58:15
你根本不应该有这个问题。PhoneGap应用程序作为本地文件//页面加载到设备上,跨域安全策略不适用于它们。
在PhoneGap常见问题解答中:
我想为
创建一个应用程序,以便通过AJAX访问外部部署的web服务。如何解决XmlHttpRequest跨域安全策略问题?
答:跨域安全策略不影响PhoneGap应用程序。由于webkit使用file://协议调用html文件,因此安全策略不适用。(在安卓系统中,您可以通过编辑AndroidManifest.xml将android.permission.INTERNET授予您的应用程序)
发布于 2011-04-27 09:53:33
如果您遇到跨域请求的问题,那么可以考虑使用像jsonp这样的数据交换格式。您从哪里请求数据?
发布于 2011-04-27 22:01:10
如果我理解正确的话,你想为跨域服务创建一个PHP代理,这样你就可以用你的移动应用程序使用phonegap访问它了?这是一件很常见的事情,它在Flash中也做了很多事情来克服跨域限制。
对于我的一个演示,我需要从Flash访问谷歌图像。为此,我在服务器上创建了一个非常简单的名为imageproxy.php的代理。下面是完整的代码:
<?php
readfile($_POST['url']);
?>
是的,这就是它。因此,在您的示例中,如果您在服务器上使用此PHP代理,则应将目标URL作为post变量发送给此代理,然后代理发出请求并通过readfile()返回响应。
https://stackoverflow.com/questions/5797613
复制相似问题