js與cookie的點點滴滴

來源:互聯網
上載者:User

js與cookie的點點滴滴

  在做高校雲平台成績系統的時候,利用js設定cookie,再在後台擷取cookie的過程中有一些小小的插曲。

 1. Cookie的設定
//---------setCookie  ;path=/;加上此句話便可以訪問整個目錄的了function setCookie(name, value) {    //cookie的相關設定以及逾時時間的設計    var days = 0.03;    var exp = new Date();    exp.setTime(exp.getTime() + days * 24 * 60 * 60 * 1000);    document.cookie = name + = + escape(value) + ;expires= + exp.toGMTString() + ;path=/;}

  此時進行相關的cookie設定,我們知道頁面的重新導向後Request請求時無法在新的頁面中進行擷取的,也就是重新導向的頁面是取不到之前的Request中的資料。但是cookie是可以被共用的。

//為了跳轉頁面能夠拿到當前的值,故而用cookie進行儲存    setCookie(temporaryClassId, temporaryClassId);    setCookie(teacherId, teacherId);    setCookie(type, type);    setCookie(year, year);
 2. 解析上述的設定中的參數

  當上面的cookie設定完畢之後,發現在後台取的時候發生了亂碼

 

//擷取cookie的值            //根據參數擷取班級id            HttpCookie cookieId = System.Web.HttpContext.Current.Request.Cookies.Get(year);    //得到的是亂碼            //string yearId = cookieId.Value;            //利用cookie進行資料的儲存,這樣可以便於即使跨不同的方法也是可以得到的,            //js利用escape對資料進行加密,但是數字是不加密的,對於漢字那麼出現的就是亂碼,需要解密            //HttpUtility.UrlDecode就是解密使用的,擷取到學年            string yearId = HttpUtility.UrlDecode(cookieId.Value);

 

  Ø escape

 

   js利用escape對資料進行加密,但是數字是不加密的,對於漢字那麼出現的就是亂碼,需要解密,HttpUtility.UrlDecode就是解密使用的,當然也是可以利用un escape函數實現解密操作的。

  Ø path=/

   在用JS存取Cookie的時候,發現在不同的目錄下,調用同一個js方法來儲存Cookie,到別的目錄取不出或取出的值是不對的,原因可能是儲存的路徑不對或者是沒有指定,導致的結果是在不同的目錄進行儲存,就會出現不同的結果,為了統一我們可以將路徑進行指定,path=/,path就是指定了相應的路徑,/就是根目錄,也就是這個目錄下的所有的頁面都是可以取到cookie的值的。

  Ø name和value

   cookie是以索引值對的形式進行儲存的,設定的時候我們需要設定key同樣需要設定value,取值的時候,我們可以根據cookie的name擷取到cookie,進而根據其value屬性得到其值。

 3. 小結

  學習的時候就會發現,看似很小的東西,其中蘊含的東西是那麼的多,所有知識都是寶藏,只要挖掘,潛力無限。


 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.