2013-07-03 38 views
0

我是jquery cookie插件的新手。 我寫代碼來設置一個頁面服務器端的cookie,並從jQuery的另一頁上讀取它。 它可以在所有瀏覽器上進行本地工作。 但它在服務器上正常工作,即不工作正常在鉻和Firefox。 這是我的代碼設置在服務器端的cookie:jquery cookie插件不能在服務器上工作

context.Response.AppendCookie(new HttpCookie("fileDownloadToken", _token)); 

並讀取和另一頁上使用jQuery下載文件後刪除的cookie:

<script type="text/javascript"> 

    var fileDownloadCheckTimer; 
    function blockUIForDownload() { 
     var token = '1357.11.22'; 
     $('#download_token_value').val(token); 
     $.blockUI({ 
      message:$('#domMessage'), 
      css: { 
       padding: 10, 
       margin: 0, 
       width: '30%', 
       top: '50%', 
       left: '35%', 

       textAlign: 'center', 
       color: '#000', 
       border: '3px solid #aaa', 
       backgroundColor: '#fff', 
       cursor: 'wait', 
      }}); 
      fileDownloadCheckTimer = window.setInterval(function() { 
       var cookieValue = $.cookie('fileDownloadToken'); 
       //alert(cookieValue); 
       if (cookieValue == token) 
        finishDownload(); 
      }, 1000); 
    } 

    function finishDownload() { 
     window.clearInterval(fileDownloadCheckTimer); 
     $.unblockUI(); 
     $.cookie('fileDownloadToken', null, { path: '/' }); 

    } 

</script> 

回答

3

請設置Cookie有效期的時間,如服務器可能位於瀏覽器系統時間之後的另一個時區。

HttpCookie cookie = new HttpCookie("fileDownloadToken", _token); 
cookie.Expires = DateTime.Now.AddMinutes(10); //change this to appropriate value 
cookie.Path = "/"; //Also set path 
context.Response.AppendCookie(cookie); 
相關問題