日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

history保存列表頁ajax請求的狀態使用示例詳解

瀏覽:482日期:2022-06-12 08:16:33
目錄
  • 問題
    • 優化前代碼
  • history
    • history.pushState()
    • window.onpopstate
  • 問題2

    問題

    最近碰到兩個問題:

    • 從首頁進入列表頁之后,點擊下一頁的時候,使用ajax請求更新數據, 然后點擊瀏覽器“后退”按鈕就直接返回到首頁,實際這里想要的效果是返回列表頁上一頁。
    • 在列表頁分頁為2的頁面進入詳情頁,然后點擊“后退”按鈕,返回的事列表頁分頁為1的頁面。沒法記住之前分頁狀態。

    優化前代碼

    代碼如下,在頁數變化的時候,去異步請求數據,渲染頁面。

    const currentChange = (currentPage) => {
        ajax(`請求地址/${currentPage}`)
        .then(renderPage)
    }
    

    history

    經過幾番搜索,發現可以用History 接口來實現我們想要功能。

    history.pushState()

    按指定的名稱和URL(如果提供該參數)將數據push進會話歷史棧,數據被DOM進行不透明處理;你可以指定任何可以被序列化的javascript對象。具體描述可以參考文檔

    通過history.pushState(state, title, url)可以修改會話歷史棧,把我們需要保存的數據存到state中,這里我們存入一個對象,屬性為當前頁數;title一般沒什么用,這里傳入null;url會修改當前歷史紀錄的地址,瀏覽器在調用pushState()方法后不會去加載這個URL

    假設當前currentPage為1,當前url為www.example.com/search/index

    ...
    const pushState = () => {
        const url = `/search/index/${currentPage}`
        history.push({
    page: currentPage
        }, null, url)
    }
    const currentChange = (currentPage) => {
        ajax(`請求地址/${currentPage}`)
        .then(res =>{
    pushState(currentPage)
    renderPage()
        })
    }
    ...
    

    現在代碼執行順序是:頁數改變 => ajax請求 => pushState => renderPage()

    在pushState之后當前url變成www.example.com/search/index/1

    window.onpopstate

    現在我們通過history.pushState()方法把狀態存入歷史會話中了,接下來就要監聽window.onpopstate事件

    參考mdn文檔window.onpopstate

    每當處于激活狀態的歷史記錄條目發生變化時,popstate事件就會在對應window對象上觸發.

    調用history.pushState()或者history.replaceState()不會觸發popstate事件. popstate事件只會在瀏覽器某些行為下觸發, 比如點擊后退、前進按鈕(或者在JavaScript中調用history.back()、history.forward()、history.go()方法).

    接下來監聽這個事件

    window.addEventListener("popstate", (event) => {
    	if(event.state !== null){
    	    page = event.state.page
    	    changeCurrentPage(page) // 修改當前頁數
    	}
    })
    

    當popstate觸發時,會修改當前頁數,然后觸發之前定義的currentChange方法,更新數據,渲染頁面。

    問題2

    到此為止,問題1就解決了。

    接下來要解決問題二:從詳情頁返回列表頁,記住之前的狀態
    這里我用url來記錄狀態,之前pushState推入的url就派上用場了。 只要把進入頁面首次請求的地址改成當前url就可以了

    假設之前push的url為www.example.com/search/index/5,從詳情頁返回之后url還會顯示www.example.com/search/index/5

    mounted () {
        ajax(location.href)
    }
    

    這樣就完成了。 當然如果你的狀態比較復雜,可以把數據存入本地Storage,添加一些判斷即可

    以上就是history保存列表頁ajax請求的狀態使用示例詳解的詳細內容,更多關于history保存列表頁ajax請求狀態的資料請關注其它相關文章!

    標簽: Ajax
    日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
    精品福利久久久| 日韩精品一区二区三区免费观看| 你懂的亚洲视频| 日韩av资源网| 日本中文字幕视频一区| 亚州av一区| 亚洲精品欧美| 日韩欧美四区| 欧美日韩va| 开心激情综合| 神马午夜在线视频| 久久天堂av| 在线视频免费在线观看一区二区| 亚洲资源av| 日韩高清国产一区在线| 国产欧美自拍| 免费一级欧美在线观看视频| 精品中文字幕一区二区三区 | 国产精品一区二区三区四区在线观看| 日韩国产精品久久久久久亚洲| 国产亚洲精品美女久久| 麻豆视频观看网址久久| 日韩啪啪电影网| 一区二区三区视频免费观看| 欧美国产91| 亚洲丝袜啪啪| 嫩草伊人久久精品少妇av杨幂| 成人亚洲一区二区| 欧美日韩国产传媒| 男女性色大片免费观看一区二区 | 国产日韩高清一区二区三区在线| 国产精品videossex| 超级白嫩亚洲国产第一| 欧美精品自拍| 日韩精品一区二区三区中文在线| 欧美激情91| 亚洲v在线看| 久热re这里精品视频在线6| 日韩成人精品一区二区三区| 精品一级视频| 久久天堂成人| 日本在线一区二区三区| 国产精品伦理久久久久久| 午夜精品婷婷| 你懂的亚洲视频| 在线视频免费在线观看一区二区| 青草久久视频| 影视先锋久久| 国产精品草草| 欧美性感美女一区二区| 国产欧美亚洲一区| 久久精品电影| 日本少妇一区二区| 午夜精品成人av| 日韩福利视频导航| 国产超碰精品| 蜜桃av一区二区在线观看| 精品视频高潮| 亚洲一区二区三区四区电影 | 日韩精品一级| 亚洲a在线视频| 国产欧美在线| 亚洲激情另类| 久久久久久亚洲精品美女| 视频一区视频二区在线观看| 国产成人免费视频网站视频社区| 亚洲欧美成人综合| 国产精品多人| aa亚洲婷婷| 精品五月天堂| 日韩影片在线观看| 1024精品一区二区三区| 国产激情精品一区二区三区| 国产精品丝袜xxxxxxx| 国产成人精选| 久久国际精品| 免费日韩视频| 亚洲性色av| 美女视频一区在线观看| 亚洲精品国产日韩| 欧美大黑bbbbbbbbb在线| 国产一区三区在线播放| 综合欧美亚洲| 在线午夜精品| 久久久精品五月天| 麻豆国产91在线播放| 午夜天堂精品久久久久| 日韩视频在线一区二区三区| 日本а中文在线天堂| 国产精品多人| 日韩三级久久| 99成人在线| 性欧美xxxx免费岛国不卡电影| 国产精品久久观看| 久久午夜影院| 国产精品草草| 日本色综合中文字幕| 性一交一乱一区二区洋洋av| 99国产精品免费视频观看| 老鸭窝一区二区久久精品| 午夜电影一区| 香蕉久久一区| 综合激情一区| 先锋影音国产一区| 黄色av日韩| 久久精品免费一区二区三区| 97人人精品| 四虎国产精品免费观看| 麻豆久久久久久久| 国产精品一区二区av日韩在线| 日韩av午夜在线观看| 久久亚洲欧美| 久久国产99| 91久久黄色| 亚洲欧美日本国产专区一区| 中文在线一区| 久久福利影视| 亚洲精品影视| 日本不卡不码高清免费观看| 色狠狠一区二区三区| 天堂va在线高清一区| 亚洲精品精选| 在线精品亚洲| 日韩av中文字幕一区| 欧美日本久久| 日韩精品91亚洲二区在线观看| 久久亚洲视频| 丝袜诱惑制服诱惑色一区在线观看 | 99精品美女| 国产专区一区| 免费视频国产一区| 五月精品视频| 中文一区在线| 亚洲精品自拍| 国产美女亚洲精品7777| 欧美黄页在线免费观看| 成人三级高清视频在线看| 免费在线观看一区| 免费一级欧美片在线观看网站| 国产精品亚洲欧美日韩一区在线| 久久精品国产99国产精品| 日韩av在线播放网址| 亚洲综合在线电影| 欧美影院三区| 亚洲美女久久| 欧美日韩精品一区二区三区视频 | 日韩国产欧美一区二区三区| 国产精品中文| 涩涩av在线| 国产婷婷精品| 国产亚洲字幕| 神马午夜在线视频| 男女精品网站| 欧美久久久网站| 91综合视频| 999在线观看精品免费不卡网站| 日韩在线成人| 国内精品伊人| 91精品高清| 日本不卡在线视频| 国产精品毛片一区二区在线看| 久久国产电影| 日韩久久一区| 高清一区二区三区av| 自拍日韩欧美| 久久精品97| 欧美黄色网页| 亚洲+小说+欧美+激情+另类| 国产一区二区三区四区五区| 激情91久久| 欧美激情在线精品一区二区三区| 国产一区观看| 国产亚洲精品精品国产亚洲综合| 久久久成人网| 日韩免费精品| 色老板在线视频一区二区| 性色一区二区| 精品国产乱码久久久久久1区2匹| 午夜国产一区二区| 国产精品一页| 五月天综合网站| 国产精品www.| 亚洲免费影视| 国产一区国产二区国产三区 | 日本在线啊啊| 少妇精品久久久| 成人午夜精品| 日韩av午夜在线观看| 亚洲91精品| 欧美日韩 国产精品| 日韩精品影视| 国产日韩欧美高清免费| 国产一区清纯| 另类综合日韩欧美亚洲| 午夜在线视频观看日韩17c| 国产极品模特精品一二| 亚洲一区成人| 日韩国产一区二区| 欧美日韩中出| 亚洲激情社区|