把cookie以json形式返回,用js來set cookie.(解決手機瀏覽器未知情況下獲取不到cookie)


1.繼上一篇隨筆,鏈接點我,解決手機端cookie的問題。

2.上次用cookie+redis實現了session,並且手機瀏覽器可能回傳cookies有問題,所以最后用js取出cookie跟在請求的url后面。

3.但是今天發現了新的問題,js取cookie存的sessionId為空,情況如下:

   (1)QQ瀏覽器能獲取某些cookie,另一些cookie獲取為空,猜測是后台Response SetCookie的時候,手機端瀏覽器沒能良好的接受。

   (2)UC瀏覽器測試正常。

   (3)Safari情況和QQ瀏覽器相同。

   (4)PC端正常。

4.這樣的情況下,我最終確定問題是, 后台對手機瀏覽器setCookie時出現問題。

5.解決辦法是,將需要存在cookie中的值放到json返回結果中一並返回。

6.在js中使用setCookie的方法來向瀏覽器設置cookie.

 

7.SetCookie方法如下。

function setCookie(name,value) 
{ 
    var Days = 30; 
    var exp = new Date(); 
    exp.setTime(exp.getTime() + Days*24*60*60*1000); 
    document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString(); 
} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM