jQuery Mobile - 如何在从一个数据角色页面移动到另一个数据角色页面时传递参数

jquery mobile - how to pass a parameter when moving from one data-role page to another?

本文关键字:数据 角色 移动 另一个 参数 一个 Mobile jQuery      更新时间:2023-09-26

我正在编写一个小而简单的jquery移动应用程序。

第一页是类别的列表视图,由从 ajax 请求中检索的 json 填充。

当用户单击其中一个类别时,应调用第二个页面。

它应该打开一个项目列表,这些项目也将由 ajax 请求检索。请求应获取category_id作为参数。

我计划使用多页模式(同一 html 中的多个页面)。

这是我的js代码:

$(function() {
initListByUrl($("#categories_ul"), 'http://localhost:3000/categories');
});

function initListByUrl(id, requestUrl) {
$.ajax({
    url: requestUrl,
    type:'GET',
    dataType:'json',
    success: function(data) {
        var items = []
        $.each(data, function(i, elem) {
                items.push('<li id="cat_li_'+i+'"><a href="#items">' + elem.name + '</a></li>');
            });
        id.html(items).listview('refresh');
    }
});
}

类别的 id 是 elem 中的另一个字段,让我们假设 - elem.id。如何将此 id 作为参数传递给将生成第二个页面的代码?我应该使用会话存储吗?

您可以使用javascript堆栈来推送和弹出每个页面所需的数据,例如,您可以在calee中push elem.id,然后在调用或查看的页面中pop并使用elem.id

var stack = [];
stack.push(3);
var data = stack.pop();
alert(data);

我在MIT许可证下创建了一个与jQuery Mobile 1.4+兼容的插件。该插件允许您使用 URL 参数在页面之间进行通信。此外,由于数据位于 URL 中,因此它会处理页面刷新以及用户直接转到应用中的特定 jQuery Mobile 页面。你可以在GitHub上找到它。