javascript - jQuery Mobile 导航 - 为什么状态为空?

标签 javascript jquery ajax jquery-mobile browser-history

我正在使用 $.mobile.navigate("#test-page", {id:123}) 导航到辅助页面。

从一个页面到另一个页面的导航工作正常....但是状态是空的!

文档清楚地表明状态应该包含执行导航时我需要的所有信息。

这是我正在使用的代码:

$(window).on('navigate', function(event, data) {
  console.log("navigated", data);
  console.log(data.state.info);
  console.log(data.state.direction);
  console.log(data.state.url);
  console.log(data.state.hash);
  if (data.state.hash === "test-page") {
    console.log("Test page", data.state.id);
  }
});

不幸的是,数据是空的:

{
    state:{}
}

HTML 如下:

<div id="test-home" data-role="page">

      <div data-role="header">
          <h1>Test Home</h1>
      </div>
      <div data-role="content">
          <div id="test-btn">
            Click DIV for TEST page
          </div>
      </div>
      <div data-role="footer">
      </div>

  </div>


  <div id="test-page" data-role="page">
     <div data-role="header">
          <h1>Test Page</h1>
     </div>

     <div data-role="content">
        Test page

     </div>
  </div>

希望有人能帮忙。谢谢!

最佳答案

$.mobile.navigatenavigate 事件,用于跟踪 URL 历史记录和从 URL 传递/获取数据。它们与浏览器的导航(后退/前进)一起工作。

要使用内部导航在 Web 应用程序内动态地在页面之间传递数据,请使用 $.mobile.changePage

资源:

使用下面的代码将数据从一个页面传递到另一个页面。

$.mobile.changePage('store.html', {
 dataUrl: "store.html?id=123",
 data: {
    'id': '123'
 },
 reloadPage: true // force page to reload
});

检索数据

$('.selector').on('pagebeforeshow', function () {
 var values = $(this).data("url").split("?")[1];
 id = values.replace("id=", "");
 console.log(id);
});

关于javascript - jQuery Mobile 导航 - 为什么状态为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15765858/

相关文章:

javascript - Google 图表树形图工具提示中的数字格式

javascript - 使用 redux 进行组织 API 调用的更好实践是什么?

javascript switch/case 在读取文件之前中断

javascript - Soundcloud JS SDK - 如果应用程序安装在 iOS 上,则 SC.Connect() 回调窗口无法关闭

javascript - 没有 DOM 元素的 jQuery 绑定(bind) AJAX 事件

javascript - JavaScript 中的新页面/转发

javascript - 如何根据 MVC 中的 DropDownList 选择刷新页面的一部分?

javascript - 无法将 Javascript 控制台日志的内容发送到 PHP?

javascript - 如何将 csv 文件中的数据加载到表单字段中?

javascript - 将搜索结果加载到与其他 div 切换的 div 中