sco*_*ozj 1 jquery ios jquery-mobile cordova
我正在使用Cordova和做一个ios web应用程序JQuery.我创建了index.html,它有一个3行列表视图.单击该行时,该页面将更改为另一个page.html.根据单击的行,JS将从服务器请求数据并刷新page.html.现在我的问题是实施它的最佳实践是什么?我的意思是这是常规风格,因为我对前端很新鲜.目前我在index.html中添加了锚点:
<li><a href="page.html">A Header Bars</a></li>
Run Code Online (Sandbox Code Playgroud)
但是,我遇到了问题:
在page.html中,我如何开始获取数据的请求?在page.html中,我写道:
$(document).ready(function()
{
console.log("test");
document.write("page test");
})
Run Code Online (Sandbox Code Playgroud)但它没有被称为.
谢谢.
如果你想要从一个页面到另一个页面的值,你有几个选项(相同的规则适用于具有多个页面的单个jQM html和围绕多个html文件构建的jQM项目):
I.在第二页上使用pagebeforeshow并通过数据对象检索所有需要的数据.假设你有2个html文件,第一个html有一个id"page1",第二个有一个id"page2",例如:
$('#page2').live('pagebeforeshow', function (e, data) {
alert(data.prevPage.find('div[data-role="content"]').attr('id'));
});
Run Code Online (Sandbox Code Playgroud)
II.第二个选项是创建一个将用作数据存储的共享对象:
var storeObject = {
someValue : '1',
anotherValue : '2'
}
Run Code Online (Sandbox Code Playgroud)
这是一个最简单的解决方案,但只有在ajax页面加载处于活动状态时才能使用.
III.您可以使用changePage传递值:
$.mobile.changePage('page2.html', { dataUrl : "page2.html?paremeter=123", data : { 'paremeter' : '123' }, reloadPage : true, changeHash : true });
Run Code Online (Sandbox Code Playgroud)
并按如下方式阅读:
$('#page2').live('pagebeforeshow', function (e, data) {
var paremeter = $(this).data("url").split("?")[1];;
paremeter = paremeter.replace("paremeter=","");
alert(paremeter);
});
Run Code Online (Sandbox Code Playgroud)
如果您想了解有关此主题的更多信息,请查看本文.您将找到几个带有示例的解决方案.
| 归档时间: |
|
| 查看次数: |
5862 次 |
| 最近记录: |