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

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

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

3.可是今天發現了新的問題,js取cookie存的sessionId爲空,狀況以下:json

   (1)QQ瀏覽器能獲取某些cookie,另外一些cookie獲取爲空,猜想是後臺Response SetCookie的時候,手機端瀏覽器沒能良好的接受。瀏覽器

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

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

   (4)PC端正常。測試

4.這樣的狀況下,我最終肯定問題是, 後臺對手機瀏覽器setCookie時出現問題。url

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

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

 

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(); 
} 
相關文章
相關標籤/搜索