【问题标题】:jquery mobile loadPage not workingjquery mobile loadPage不起作用
【发布时间】:2012-11-19 12:08:59
【问题描述】:

好吧,我在几天前完成了这个question 填写,但不知道我是否清楚。

所以,我现在使用另一个函数$.mobile.loadPage 做了一些更简单的事情@

我要做的只是将内容从另一个文件加载到 div,就像使用普通 jquery 的$.ajax

在我的主页中:

<div data-role="page">
    <button id="load" style="border: solid blue;">Click here to load</button>
    <div data-role="content" id="target">
    <!-- ajax load here -->
    </div>
</div>

这是来自另一个文件的 html:

<div id="secondPage" style="border:solid red;">
   <p>test</p>
</div>

最后是 js:

 $("body").on("click", "#load", function () {
    $.mobile.loadPage("mobile/favorites", {
        pageContainer: $('#target'),
        type: 'post',
        reloadPage: true
    });
});

在我看来没有错误,网址加载了我在 chrome 调试中检查的内容。

那么,我错过了什么?

【问题讨论】:

  • 可能您缺少数据属性
  • 手机/收藏夹是否需要任何请求参数?
  • @rahul:#secondPage中的数据?
  • 是这样的数据:$("#secondPage").serialize()
  • @rahul 但我不需要传递任何东西。它只是为了改变页面。

标签: jquery ajax jquery-mobile load


【解决方案1】:

您的代码正试图在另一个页面中加载一个页面。第二页 (id="secondPage") 缺少 data-role="page" 属性。

我从未尝试过完成您在此处尝试的操作,但根据文档似乎令人困惑。

该方法加载一个页面,将其插入到容器(而不是另一个页面)内部的 DOM 中。 reloadPage 参数强制加载的页面如果已经在 DOM 中(之前已经加载)刷新。不是你想做的。

您将有更好的运气通过 jQuery 加载内容,插入 DOM $("#myDiv").load("ajax/test.html");,然后使用 $("#myPage").page("destroy").page(); 刷新当前页面注意,如果您只是插入未增强的 html,则可能不需要最后一点jQuery 移动。

【讨论】:

    猜你喜欢
    • 2016-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    相关资源
    最近更新 更多