2

我正在编写一个小而简单的 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 作为参数传递给将构建第二页的代码?我应该使用会话存储吗?

4

2 回答 2

0

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

var stack = [];
stack.push(3);
var data = stack.pop();
alert(data);
于 2013-09-05T14:11:49.677 回答
0

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

于 2014-03-27T22:00:17.933 回答