問題:項目在微信上查詢出數據,點擊加載更多加載出第二頁數據,點擊其中一個跳轉至詳細頁面,這個時候按安卓機的返回鍵,會返回出第一次查詢出的數據,而第二頁的數據,很差意思請你在點擊一次 加載更多。web
咱們都知道Ajax的異步請求給咱們帶來很美好的用戶體驗感,但它的缺點也使的不少人在一些地方不得不放棄,而我很不幸的也遇到了這個問題,最終的結果我仍是敗下陣來,改用Post請求了。怎麼想都是微信的錯。服務器
項目在其它手機遊覽器上是沒有問題,惟獨在微信的遊覽器上就會出現返回的時候始終返回第一次Search的數據,我的認爲這應該是微信遊覽器的設計問題,不過多瞎扯,在其它遊覽器上咱們會發現,咱們如何的下一頁 上一頁 或者從Ajax頁面跳轉到非Ajax頁面返回的時候,始終都是能返回到你上一個頁面,在UC 遊覽上,你也能夠經過左右滑動屏幕來獲取到你先後所打開過的頁面,這個時候,我在想我是否也能借着這形勢來解決,我如今的問題。微信
微信上可沒有UE遊覽器那樣能讓你左右滑屏,僅僅只有一個手機返回按鈕,你只要觸發返回所返回的請求一定是你上一次所與服務器產生交互的請求,因而我起初的想法是否能經過控制遊覽的返回url來處理我如今的問題,通過一番搜索後,我發現這並非在個人能力範圍內,並且我也沒有那麼多時間來處理,還沒過試用期呢,後來在網上找到一篇博文給以了我一些靈感異步
http://blog.csdn.net/gf771115/article/details/18981363/ 各位能夠去看一下,其中裏面也有說到h5的兩個有意思的東西 history.pushState 和 history.replaceState 但我始終沒法處理返回之後再用Ajax去加載內容,因此不得不放棄使用H5的這兩個,同時把 目標轉移至Hash上面,顯然我成功的將地址更換了,而且也將添加進遊覽器歷史記錄,我本覺得我成功了,結果發現不管我在第一次回車,地址欄沒法發送請求到後臺,在回車第二次成功了,但參數裏的信息仍舊是第一次Search的查詢條件Page=1,這使的我很沮喪,問題出在哪裏呢,難道必定要真實與服務器產生交互才能達到我想要的效果嗎?或者,是我寫法有問題,這時候我不猶的感到憂心了,由於在作這些事上我已經花費了半天多的時間了,最終改用Post的請求,原有的頁面處理請求過程是url
因爲要改爲Post請求方式,那麼加載更多的這種方式將再也不適用了,惟有將其改爲上一頁和下一頁,而後將上一頁和下一頁操做過程跟Serach流程同樣,那麼問題來了,我該如何得到每次返回的頁數,起初朋友建議我是一塊兒將值帶回到頁面存儲到隱藏域裏,但這裏有個致命問題就是點擊Serach的時候它是從新將ComList頁面從新加載一次,因而我採用Cookie,而且利用url,Serach與查看分頁中有個參數不一樣來處理 看代碼:spa
雖然看起來並不高端,但這也是我目前所想到的解決方案。 .net
Don't give up, don't give in!設計