Phonegap /转换网站以供移动使用

时间:2011-04-26 23:26:13

标签: android ios mobile cordova mobile-website

目前我正在为Android和iOS系统使用phonegap构建应用程序。从本质上讲,它将是一个网站,但由于我需要通过ajax(相同的原始策略)进行跨域请求,我遇到了一些困难。我想知道是否更好地在我自己的服务器上建立网站,允许PHP,然后在phonegap中使用包装/框架来模拟网站?这会怎么样?

帮助表示赞赏

3 个答案:

答案 0 :(得分:4)

你根本不应该遇到这个问题。 PhoneGap应用程序作为本地file://页面加载到设备上,跨域安全策略不适用于它们。

来自PhoneGap常见问题解答:

  

Q值。我想为phonegap创建一个应用程序,以通过AJAX访问外部部署的Web服务。我怎样才能解决这个问题   XmlHttpRequest的跨域安全策略?

     

一个。跨域安全策略不会影响PhoneGap应用程序。由于webkit使用file:// protocol调用html文件,因此安全策略不适用。   (在Android中,您可以通过编辑AndroidManifest.xml将android.permission.INTERNET授予您的应用程序)

答案 1 :(得分:0)

如果您遇到跨域请求问题,请考虑使用jsonp等数据交换格式。你在哪里要求数据?

答案 2 :(得分:0)

如果我理解正确,您希望为跨域服务创建PHP代理,以便您可以使用phonegap通过移动应用程序访问它?这是一个非常常见的事情,它在Flash中也做了很多,以及超越跨域限制。

对于我的一个演示,我需要从Flash访问Google图片。为此,我在服务器上创建了一个名为imageproxy.php的非常简单的PHP代理。这是完整的代码:

<?php
readfile($_POST['url']);
?>
是的,就是这样。因此,在您的情况下,如果您在服务器上使用此PHP代理,则将此代理作为post变量发送到目标URL,代理发出请求并通过readfile()返回响应。