Javascript Ajax调用仅在第一次更新页面

Javascript Ajax调用仅在第一次更新页面,javascript,html,ajax,Javascript,Html,Ajax,我有一个相当简单的计时器,我在一页上设置,然后在另一页上查看倒计时 问题是计时器会第一次更新,但不会再次更新(除非我进行了一次完整的页面刷新,但我希望避免这种情况)。 我在firebug中没有任何错误。 该函数每25秒重新发送一次ajax命令——这是有效的,我看到时间如预期般流逝。 如果我改变时间,我可以像预期的那样从php页面看到结果,但是如果没有实际的页面刷新,计时器本身不会更新。 我没有任何与此页面的交互(它只是一个计时器),所以我无法在单击时更新 你知道我错过了什么吗?我知道这一定很明显

我有一个相当简单的计时器,我在一页上设置,然后在另一页上查看倒计时

问题是计时器会第一次更新,但不会再次更新(除非我进行了一次完整的页面刷新,但我希望避免这种情况)。 我在firebug中没有任何错误。 该函数每25秒重新发送一次ajax命令——这是有效的,我看到时间如预期般流逝。 如果我改变时间,我可以像预期的那样从php页面看到结果,但是如果没有实际的页面刷新,计时器本身不会更新。 我没有任何与此页面的交互(它只是一个计时器),所以我无法在单击时更新

你知道我错过了什么吗?我知道这一定很明显

$(document).ready(function(){
suitcase();
});
setInterval(suitcase, 25000);

function suitcase() {
$.ajax({
    type: 'POST',
    url: 'timeRTN.php',
    async: false,
    cache: false,
    data: {            
        examlength: examlength
    },
    success: function(examlength) {
        $('#pauseResume').countdown({
            until: examlength,
            format: 'HMS'
        })
      },
     })
    };
HTML:


谢谢

试试这个:

function Suitcase(){
var countdownExists = false;
...
  success: function(examlength) {
    if(!countdownExists){
      $('#pauseResume').countdown({
        until: examlength,
        format: 'HMS'
      })
      countdownExists = true;
    }else{
      $('#pauseResume').countdown('option',{
        until: examlength,
        format: 'HMS'
    })
此处的文档:

$()。倒计时(选项)
创建倒计时的新实例


$().countdown('option',options)
设置现有实例的选项。

倒计时()做什么?@ghommy我猜它会倒计时。不过指针不错。旧IE不支持在对象文本末尾加逗号。不是原因,请尝试在
$(document.ready(function(){…})中移动
setInterval
。您可能无法创建同一计数器两次。您可能需要终止上一个实例,并用新的倒计时来替换
。感谢您的帮助,我无法让您的代码正常工作(即使添加/调整“选项”也不想更新),但您让我走上了正确的道路。我以为我在寻找更新div的错误,但回到我在页面$(选择器)底部看到的原始文档。倒计时(‘销毁’)我销毁现有文档,然后在下一行重新创建它。可能不是作者所希望的,但它可以工作,不再刷新屏幕
function Suitcase(){
var countdownExists = false;
...
  success: function(examlength) {
    if(!countdownExists){
      $('#pauseResume').countdown({
        until: examlength,
        format: 'HMS'
      })
      countdownExists = true;
    }else{
      $('#pauseResume').countdown('option',{
        until: examlength,
        format: 'HMS'
    })