首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于javascript延迟

问关于javascript延迟
EN

Stack Overflow用户
提问于 2016-01-20 08:53:25
回答 2查看 78关注 0票数 2

所以我有一个计时器,一个javascript代码和一个php文件,我的php文件只是在服务器端生成一个代码。

在计时器命中1秒后,我的JS代码正在运行代码。

代码语言:javascript
复制
  timeleft = 120,
  ms = 1000;

var timerinterval;
var socket = io.connect('http://x:3333');

  if ($('.run #timeleft').size() > 0) {
    socket.on('timer', function(data) {
      timeleft = data.timeleft;
      if (timeleft == 1) {
        setTimeout(function() {
          $.ajax({
            type: "GET",
            url: "generate.php",
            success: function(msg) {
              $('.code').before(msg);
            }
          });
        }, 3500);
      }
    });
    setInterval(updatetimer, 1);
  }


function updatetimer() {
  var n = 99 - Math.round((new Date()).getMilliseconds() / 10);
  if (timeleft == 120) {
    n = 0;
  }
  if (n < 0) {
    n = 0;
  }
  if (timeleft <= 0) {
    n = 0;
  }
  if (timeleft < 0) {
    timeleft = 0;
  }
  $('.run #timeleft').html(timeleft + ((n < 10) ? '.0' : '.') + n);
}

但问题是,有时我的JS代码会推动旧的生成代码。所以我有个时间问题。

正如我所分析的,超时函数在超时之前从generate.php获取代码,但是它在3秒后运行代码。所以这会引起臭虫。逻辑是应该有,在3秒后从generate.php获取代码,而不是像获取它然后等待3秒来推送它。

我需要的是在3秒后获得generate.php代码,以确保它不会再次获得旧的生成代码。

EN

回答 2

Stack Overflow用户

发布于 2016-01-20 09:06:04

您可以尝试将ajax请求中的cache设置为false:

代码语言:javascript
复制
$.ajax({
    type: "GET",
    url: "generate.php",
    cache: false, 
    success: function(msg) {
      $('.code').before(msg);
    }
});

API

缓存(默认值: dataType 'script‘和’jsonp‘为true,false ) 类型:布尔型 如果设置为false,浏览器将强制请求的页面不缓存。注意:将缓存设置为false只会正确地处理HEAD和GET请求。它的工作方式是将“_={时间戳}”附加到GET参数中。对于其他类型的请求,不需要该参数,但在IE8中,当将帖子发送到GET已经请求的URL时除外。

票数 1
EN

Stack Overflow用户

发布于 2016-01-20 08:58:33

它确实要等待3秒才能从generate.php获得答复,这更有可能是缓存问题。

如果您的网站启用了服务器端缓存,它将发送“旧”php生成的输出,而不是新的输出。

在url上添加一个越来越多的数字或一个小标记,如

代码语言:javascript
复制
"generate.php?v="+Date.now,

强制服务器始终执行php代码并发送当前版本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34895404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档