[英]How to implement next/back function when using ajax call?
我正在一個顯示交易記錄列表的網站(每頁10條記錄)。
該頁面具有分頁和搜索功能,允許用戶查看特定的交易記錄。(如日期范圍,類型...最多最多10個參數)
當用戶單擊任何內容(更改頁面/搜索條件)時,將使用ajax調用來獲取和顯示交易,而無需重新加載。
但是,例如,用戶單擊下一頁(ajax調用)以查看page2並嘗試單擊瀏覽器的后退按鈕。 該網站會將他重定向到另一個網頁,而不是返回到第1頁。
我知道有一個window.history.pushState
可以更改url,而無需在chrome / Firefox中重新加載html5。 但我必須支持 IE7 + / FF / Chrome / Safari等較舊的瀏覽器 。
是否有解決此問題的現有解決方案? 謝謝。
編輯 :我已經中午嘗試了history.js。
// newUrl:“?para1 = value1&para2 = value2&....
history.pushState({data:"searchTransaction"}, document.title, newUrl);
在ajax請求之后,URL也已更改。 我有一個問題是如何處理更改事件。 我想綁定back / next(user click)事件並獲取“ newUrl”,然后將其解析回參數映射並再次執行ajax請求。 而且我想在可能的情況下存儲整個參數數組。
不幸的是,您無法捕獲“ back / next”事件,因為該事件不存在,但是您可以捕獲statechange
// Bind to StateChange Event
History.Adapter.bind(window,'statechange',function(){ // Note: We are using statechange instead of popstate
var State = History.getState(); // Note: We are using History.getState() instead of event.state
History.log(State.data, State.title, State.url);
});
我通常要做的是捕獲用戶的點擊,並且如果在沒有單擊的情況下觸發了狀態更改,我會假設用戶下一步還是返回。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.