2014-04-11 121 views
4

我在我正在構建的站點中使用Pjax,並且在搜索遍歷後,我一直無法找到保存自定義數據的方法,以便稍後檢索。 這是我的代碼:Pjax保存自定義狀態數據

var myData = { 
     tst1: "some value", 
     tst2: "some other value" 
    }; 
$(document).pjax('a[pjax]', '#content', { //id to be loaded into 
     fragment: '#content', //id to be loaded 
     timeout: 3000, 
     data: myData 
    }); 

當我嘗試登錄event.state.data在「pjax:popstate」事件中,我得到了一個未定義。

$(document).bind("pjax:popstate", function(event) { 
     console.log(event.state.data); 
}); 

有人能告訴我我做錯了嗎?

+1

我有完全相同的問題。這很奇怪,沒有什麼可以找到關於這個話題的(特別是因爲它在'history.pushstate'中是標準的)。 – MMachinegun

回答

0

你究竟想在這裏實現什麼? pjax:popstate是前向/後退按鈕的瀏覽器事件,如下所示:https://github.com/defunkt/jquery-pjax#events並且不接受任何選項。

選項語法:$(document).pjax(delegation selector, container selector, options object)

下PJAX火災事件是這樣的:fire('pjax:end', [xhr, options]),所以訪問一個選項應該在您的案件與options.option工作:

$(document).bind("pjax_event", function(xhr, options) { 
    console.log(options.data); 

});

雖然沒有測試過。將需要更多的信息。