我一直在使用android sdk在eclipse中玩我的phonegap应用程序,并试图弄清楚如何在phonegap应用程序中显示来自服务器数据库的动态html页面.
我想要完成的是;
有一个网页,例如www.demo.com/login和phonegap应用程序将登录到该网页,并将显示www.demo.com/dashboard.html,因此它将拍摄照片,访问构建gps等. .
是否有可能像web浏览器一样使用phonegap应用程序并显示动态html页面,以及是否可以访问本机功能?我是否必须运行phonegap应用程序将获取的Web服务并使用该Web服务发布json对象,然后在名为mustache.js的js或其他任何内容的帮助下呈现html代码?
我非常感谢你的帮助
非常感谢
您可以使用PhoneGap与PHP和jQuery Ajax来获取内容.在文件头加载jQuery库.在函数中onBodyLoad(),
放置了对PHP文件的Ajax调用:
$('#content').load('http://www.example.com/test.php');
在HTML会话中,将div id ="content"放在要显示内容的位置.
PHP:
for($i=1; $i<=10; $i++) { echo 'Dinamic content coming from test.php! Value: ' . $i . ' of 10.
'; }
HTML将打印:
Dinamic content coming from test.php! Value: 01 of 10.
Dinamic content coming from test.php! Value: 02 of 10.
Dinamic content coming from test.php! Value: 03 of 10.
Dinamic content coming from test.php! Value: 04 of 10.
Dinamic content coming from test.php! Value: 05 of 10.
Dinamic content coming from test.php! Value: 06 of 10.
Dinamic content coming from test.php! Value: 07 of 10.
Dinamic content coming from test.php! Value: 08 of 10.
Dinamic content coming from test.php! Value: 09 of 10.
Dinamic content coming from test.php! Value: 10 of 10.
要将内容发送到另一个页面并将用户登录,您可以这样做
$.get('login.php?name=user', function(data) { $('#content').html(data); });
你的login.php可能有类似的东西:
if (isset($_GET['name'])) { $name = $_GET['name']; echo "Name: $name"; } else { echo "Please enter a valid name!!"; }
要使您的登录安全,可以使用POST方法,如下所述:
$('#form').submit(function() { $.post('login.php', $('#form').serialize(), function(data) { $('#content').html(data); }); return false; // to avoid page going to login.php file });
和login.php
if(!empty($_POST)) { $user = $_POST['name']; $pass = $_POST['password']; // db query and stuff goes here... echo "Worked!"; } else { "Enter values!"; }