2010-12-08 66 views

回答

24

PhoneGap允许您在iPhone上运行JavaScript和HTML应用程序。您的所有PHP代码将不得不驻留在远程服务器中。

要从服务器获取数据,您必须使用XMLHttpRequest对象或更像用户友好的东西,如jquery的$.get()$.post()函数。

+7

请问您可以发布任何代码 – 2011-06-06 12:12:34

9

wm_eddie是正确的。

此外,我想评论你的“我想建立一个本地iPhone应用程序”的报价。为PhoneGap编写的应用程序是而不是本机应用程序。尽管他们可以看起来像大多数这样的动作就像本地应用程序,但更好的比喻是将它们视为预先打包的本地安装的Web应用程序,使用PhoneGap API可以访问本地功能的有限子集。值得注意的是,这个功能由传感器(加速度计,gps等)和相机操作等组成。

这可能没有任何影响您的使用,但只是想澄清这一点...;)

(PhoneGap的仍然是一个非常漂亮工具,我用它在我的一些然而,如果你需要一个完全原生的应用程序,除了必须在运行时解释的JS,但是预编译主要使用1-1语言依赖的象征,那么我会推荐我使用的Titanium作为这两种漂亮的工具,但它们提供明显不同的产品,具有不同的利弊,这是确定最终产品的要求,然后选择最有意义的平台的问题。)

+1

+1的简单示例,以澄清PhoneGap的真实含义。 – BoltClock 2010-12-09 01:36:59

22

我刚刚用PHP编写了一个PhoneGap应用程序,使用Ajax获取内容。

首先,在index.html头部加载jQuery库。在功能onBodyLoad(),把Ajax调用的PHP文件:

$('#content').load('http://www.example.com/test.php'); 

在HTML会议,把DIV ID =“内容”你要显示的内容在哪里。

PHP:

for($i=1; $i<=10; $i++) { 
    echo '<p>I\'m a PHP Loop! Value: ' . $i . ' of 10.</p>'; 
} 

HTML会打印:

<p>I'm a PHP Loop! Value: 1 of 10.</p> 
<p>I'm a PHP Loop! Value: 2 of 10.</p> 
<p>I'm a PHP Loop! Value: 3 of 10.</p> 
<p>I'm a PHP Loop! Value: 4 of 10.</p> 
<p>I'm a PHP Loop! Value: 5 of 10.</p> 
<p>I'm a PHP Loop! Value: 6 of 10.</p> 
<p>I'm a PHP Loop! Value: 7 of 10.</p> 
<p>I'm a PHP Loop! Value: 8 of 10.</p> 
<p>I'm a PHP Loop! Value: 9 of 10.</p> 
<p>I'm a PHP Loop! Value: 10 of 10.</p> 

你也可以使用

$.get('test.php?name', function(data) { 
    $('#content').html(data); 
}); 

而且你test.php的可能有类似:

if (isset($_GET['name'])) { 
    echo "Asked for name!"; 
} 

有了这个,你可以继续做一些好东西。我对这个问题有一个疑问:我可以托管外部PHP文件并将应用程序部署到应用商店吗?这有什么限制吗?