如何以编程方式更改jquerymobile页面并将数据发送到此页面?

时间:2013-03-15 05:20:51

标签: javascript jquery jquery-mobile

家伙!
我使用jquerymobile 1.3.0和jquery 1.9.1
我有2个(更多)jquerymobile页面 例如:

<div data-role="page" id="firstPage">
    <!-- Header -->
    <div data-role="header">
        <h3>First page</h3>
    </div>
    <!-- Body -->
    <div data-role="content">
        some content ...
    </div>
</div>

<div data-role="page" id="secondPage">
    <!-- Header -->
    <div data-role="header">
        <h3>Second page</h3>
    </div>
    <!-- Body -->
    <div data-role="content">
        some content ...
    </div>
</div> 

我需要从第一页更改为第二页,并通常发送一些params URL 我试着用这个方法:

$.mobile.changePage('#secondPage',
    {
        data: {id: 123, module: 111}
    }
);

在此方法之后,首页上的元素为隐藏,网址将更改为www.mydomain.com/main.html?id=123&module=111 但页面没有变化。我认为为了将页面更改为URL到此页面的哈希值 并且URL必须是

形式
www.mydomain.com/main.html?id=123&module=111#secondPage

然后我尝试使用:

location.href += '?id=1234&module=111#secondPage';

此方法是有效的))) 但是,当我尝试返回firstPage时,页面被更改,但在URL中仍然是数据

www.mydomain.com/main.html?id=123&module=111

然后我尝试使用下一个方法删除此数据

location.href = location.href.replace(location.origin, "").replace(location.pathname, "");

但是在这个方法之后我的第一页被循环改变了 请帮帮我们当我回到firstPage时,如何将数据发送到secondPage并删除这些数据?
我的后退按钮使用原生的jquerymobile方法返回。

<a data-theme="a" data-role="button" data-transition="fade" href="#firstPage" data-iconpos="notext" class="ui-btn-left backButton"></a>

P / S。对不起我的英语,我的英语水平是基本的

1 个答案:

答案 0 :(得分:1)

如果在一个html中定义两个页面,则不必使用URL将参数发送到其他页面。只需使用javascript变量和页面事件即可使用它们。

如果使用URL参数运行服务器端代码,只需使用不同的.html文件。一个html文件,一种页面样式。

但是对于移动设备的平滑过渡效果和最佳用户实验,我更喜欢使用AJAX并直接创建/更改页面,

祝你好运