缓存为false时从缓存中获取数据

时间:2013-02-17 11:55:35

标签: jquery ajax

我使用以下代码自动登录我的电子邮件帐户:

$.ajax({
   async: false,
   cache: false,
   type: 'POST',
   dataType: 'html',
   data: ({
       '_token': token_value,
       '_task': 'login',
       '_action': 'login',
       '_timezone': '2',
       '_dstactive': '0',
       '_url': '',
       '_user': _username,
       '_pass': _password
   }),
   url: 'https://mail.somesite.com/index.php',
   success: function (data) {
       //after login get the central email page where the email count is displayed
       $.ajax({
           async: false,
           cache: false,
           type: 'GET',
           dataType: 'html',
           url: 'https://mail.somesite.com/index.php?_task=mail',
           success: function(data1) {
               var descNode = document.createElement("div");
               descNode.innerHTML = data1;
               var unreadcount = descNode.getElementsByClassName("unreadcount");
            /*process unreadcount etc*/
         },
         error: function () {
            // something went wrong with the request
            error_occurred();
            return;
         }
      });
   },
   error: function () {
      // something went wrong with the request
      error_occurred();
      return;
   }
})

问题在于,在获取具有“unreadcount”类的对象以获取用户的未读电子邮件数量后,我得到一个旧页面。

例如,如果我登录到我的电子邮件帐户,看到我有2封电子邮件,并且我运行此功能,我将被告知我有2封电子邮件。如果我从我的帐户退出,从另一个帐户发送电子邮件到我的帐户并重新运行此功能,它将找不到新的电子邮件(它仍然只显示2封电子邮件)。我已经尝试用console.log()查看data1的内容,我很确定该函数没有任何错误(因为'unreadcount'的值确实仍然是2)。

当然,当我正常登录时,我可以看到我有3封电子邮件进入我的帐户。奇怪的(?)事情是在登录后(即使我在此之后退出)并运行上述功能,它会找到第三封电子邮件。

所有这些让我得出结论,我被引导到缓存页面,但我在任何时候都将缓存设置为false。我怎样才能避免这种情况发生?

0 个答案:

没有答案