0

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

$.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;
   }
})

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

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

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

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

4

0 回答 0