我正在使用jQuery mobile和Phonegap构建iOS应用程序。 我在PC浏览器中构建网站并进行测试,所以我将后端代码(使用Ruby)放在html文件中,所以当jQuery加载页面时(使用$ .mobile.changePage()),数据将从服务器获取并呈现模板文件。(服务器上的所有文件)。
但是当我把代码放在Phonegap中时, index.html文件现在将在本地,是我获取服务器端数据的唯一方法是发出一个AJAX请求来获取json并插入到页面?或以其他方式表现更好?
jquery mobile使用$ .mobile.changePage()来使用AJAX请求更改页面,所以如果我确实发出获取数据的请求,那么$ .mobile.changePage()函数只会进行转换,因为它没有为我加载任何数据。
答案 0 :(得分:2)
Ajax请求是加载远程内容的好方法。如果您想在显示页面时加载内容,请执行以下操作:
$(document).delegate('[data-role="page"]', 'pageshow', function () {
$.get('http://domain.com/path_to_script.php?id=blah', function (data) {
$(this).children('[data-role="content"]').html(data);
});
});
注意:此示例期望非本地脚本将输出html准备插入dom。您可以接收任何类型的数据,并根据需要对其进行解析; data变量返回来自ajax请求的响应。