最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決瀏覽器記住ajax請求并能前進和后退問題

 更新時間:2017年06月07日 08:29:56   作者:大狼_  
在我們?yōu)g覽不同網(wǎng)頁的時候,我們可以通過瀏覽器的前進、后退鍵來去到我們前后訪問過的頁面。這篇文章主要介紹了讓瀏覽器記住ajax請求并能前進和后退方法(一),需要的朋友可以參考下

在我們?yōu)g覽不同網(wǎng)頁的時候,我們可以通過瀏覽器的前進、后退鍵來去到我們前后訪問過的頁面。這都有一個共同點,就是 瀏覽器地址欄的地址改變了。瀏覽器自身維護了一個記錄用戶訪問頁面歷史的棧,棧中記錄了用戶訪問不同頁面的先后順序。

但是在開發(fā)中,我們經(jīng)常會用到ajax技術去提升網(wǎng)頁的用戶體驗。但是ajax本身并不改變?yōu)g覽器地址欄中的url,是在同一個網(wǎng)頁內部操作的,這時,瀏覽器并不會記錄ajax請求的記錄。在這種情況下,用戶在一個頁面觸發(fā)的5次ajax請求后,點了后 退按鈕,瀏覽器不會再次請求之前的ajax請求,而是返回了上一頁。

解決這個問題的第一種方法就是利用location的hash值。當url的hash值改變時,頁面并不會跳轉,但是瀏覽器此時會將此帶hash的url記錄到歷史記錄中。利用這個特性,我們可以人為的模擬帶歷史記錄功能的ajax請求。下面是這種方法的demo。

ul{
 margin:0;
 padding:0;
}
li{
 list-style: none;
 display: block;
 float: left;
 border: 1px solid #000;
 padding: 10px;
 margin-right: 20px;
 cursor: pointer;
}
li.active{
 background-color: #000000;
 color: #fff;
}
<ul>
 <li data-id="1">1</li>
 <li data-id="2">2</li>
</ul>

先創(chuàng)建兩個按鈕,點擊按鈕時,向服務器發(fā)送請求,并將data-id通過參數(shù)帶到服務器,服務器返回對應data-id的結果。
于此同時,改變按鈕狀態(tài),并將location的hash值改為data-id的值。最后監(jiān)聽location的hash值變化,重復上述步驟。

function sendAjax(hash){
 console.log("recived data:" + hash);
}
function btnStatus(hash){
 $("li").removeClass('active');
 $("li[data-id="+hash+"]").addClass('active');
}
function onHashChange(){
 var curHash = window.location.hash.replace("#","");
 if(curHash){
  btnStatus(curHash);
  sendAjax(curHash);
 }
}
window.onhashchange = onHashChange;
$("li").click(function(){
 var id = $(this).attr('data-id');
 window.location.hash = id;
});

當我們點擊按“1-2-1”這樣的順序點擊按鈕時,控制臺的輸出如下

recived data:1
recived data:2
recived data:2

此時我們連續(xù)按三次返回按鈕,控制臺輸出如下

recived data:1
recived data:2
recived data:1

可見這樣就模擬實現(xiàn)了瀏覽器記錄ajax請求的功能。

以上所述是小編給大家介紹的讓瀏覽器記住ajax請求并能前進和后退方法(一),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關文章

  • ajax上傳多圖到php服務器的方法

    ajax上傳多圖到php服務器的方法

    這篇文章主要為大家詳細介紹了ajax上傳多圖到php服務器的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 全面解析Ajax綜合應用(全)

    全面解析Ajax綜合應用(全)

    AJAX = 異步 JavaScript 和 XML,AJAX 是一種用于創(chuàng)建快速動態(tài)網(wǎng)頁的技術。本文給大家?guī)砹巳娼馕鯝jax綜合應用大全,非常不錯具有參考借鑒價值,感興趣的朋友一起看下吧
    2016-06-06
  • IE9 IE8 ajax跨域問題的快速解決方法

    IE9 IE8 ajax跨域問題的快速解決方法

    下面小編就為大家?guī)硪黄狪E9 IE8 ajax跨域問題的快速解決方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • herf=#導致Ajax請求時沒有向后臺發(fā)送數(shù)據(jù)

    herf=#導致Ajax請求時沒有向后臺發(fā)送數(shù)據(jù)

    當點擊重命名進行Ajax請求時,并沒有向后臺發(fā)送數(shù)據(jù)而是直接跳轉到了首頁,后來發(fā)現(xiàn)是這個herf=#惹的禍
    2014-05-05
  • 聊一聊數(shù)據(jù)請求中Ajax、Fetch及Axios的區(qū)別

    聊一聊數(shù)據(jù)請求中Ajax、Fetch及Axios的區(qū)別

    axios、fetch和ajax的區(qū)別在網(wǎng)絡上存在很多文章,下面這篇文章也是給大家介紹了關于數(shù)據(jù)請求中Ajax、Fetch及Axios區(qū)別的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-02-02
  • ajax實現(xiàn)省市三級聯(lián)動效果

    ajax實現(xiàn)省市三級聯(lián)動效果

    這篇文章主要為大家詳細介紹了ajax實現(xiàn)省市三級聯(lián)動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Ajax 實現(xiàn)加載進度條

    Ajax 實現(xiàn)加載進度條

    本文給大家介紹ajax實現(xiàn)加載進度條效果,非常不錯,具有參考借鑒價值,需要的朋友參考下
    2016-12-12
  • Ajax初試之讀取數(shù)據(jù)篇

    Ajax初試之讀取數(shù)據(jù)篇

    上次我們講了"ajax開始準備篇",做好了基本的ajax準備工作以后.我們開始牛刀小試一下:ajax初試之讀取數(shù)據(jù)篇.是的,今天我們要實現(xiàn)的效果是.在不刷新網(wǎng)頁的情況下讀取并顯示服務端的數(shù)據(jù).
    2010-08-08
  • 用Ajax來控制書簽和回退按鈕的代碼

    用Ajax來控制書簽和回退按鈕的代碼

    用Ajax來控制書簽和回退按鈕的代碼
    2007-01-01
  • ajax實現(xiàn)session不過期(避免頁面過期的現(xiàn)象)

    ajax實現(xiàn)session不過期(避免頁面過期的現(xiàn)象)

    在寫博客時要寫好長時間但沒有出現(xiàn)這種情況并且有實時的自動保存;這就涉及到了session的過期時間問題,下面與大家分享下具體的實現(xiàn)方法
    2013-06-06

最新評論

公主岭市| 安图县| 自贡市| 淮阳县| 黄平县| 开阳县| 安达市| 青州市| 太保市| 黄大仙区| 宽城| 和田市| 桃江县| 肥城市| 灵璧县| 大城县| 泰和县| 江油市| 泸溪县| 娱乐| 平度市| 宾川县| 环江| 中卫市| 邵阳县| 连云港市| 施秉县| 清远市| 吉林省| 天祝| 荆门市| 三明市| 五台县| 湘潭县| 东港市| 昌平区| 邛崃市| 汕头市| 宜川县| 金寨县| 浦城县|