javascript:如何重复调用函数本身?

javascript:如何重复调用函数本身?,javascript,Javascript,我想重复计算时间,每分钟更新一次当前时间。我的代码不起作用。Firebug控制台表示未定义最后一行函数getStatus()。如何重复调用此函数 jQuery(document).ready(function($){ $(function() { getStatus(); }); function getStatus() { var post_id = $('#post_id').val(); var nonce = $('#_

我想重复计算时间,每分钟更新一次当前时间。我的代码不起作用。Firebug控制台表示未定义最后一行函数
getStatus()
。如何重复调用此函数

jQuery(document).ready(function($){

    $(function() {   
     getStatus();
    });

    function getStatus() {
      var post_id = $('#post_id').val();
      var nonce = $('#_wpnonce').val();
      jQuery.ajax({
        url : ajaxurl,
        data : {action: "update_edit_lock", post_id : post_id, nonce: nonce },
        success: function(response) {
          if(response == "false") {
            alert("failed")
          }
          else {
            $("#message").html(response)
          }
        }
        });
      setTimeout("getStatus()",60000);
    }
    },(jQuery));

您可以使用
setInterval(getStatus,60000)
来代替,否则您应该使用
setTimeout(getStatus,60000)
。不要使用字符串作为函数回调,而应使用命名函数。

您可能可以使用
setInterval(getStatus,60000)
,否则您应该使用
setTimeout(getStatus,60000)
。不要将字符串用作函数回调,而应使用命名函数。

您的问题是getStatus是否包装在另一个回调中。执行
window.getStatus=function(){}
,或者将代码转换为:

jQuery(document).ready(function($){
    var getStatus = function() {
      var post_id = $('#post_id').val();
      var nonce = $('#_wpnonce').val();
      jQuery.ajax({
        url : ajaxurl,
        data : {action: "update_edit_lock", post_id : post_id, nonce: nonce },
        success: function(response) {
          if(response == "false") {
            alert("failed")
          }
          else {
            $("#message").html(response)
          }
        }
        });
      setTimeout(getStatus,60000);
    };

    $(function() {   
     getStatus();
    });

},(jQuery));

将字符串传递给
setTimeout
将使其
eval
字符串,您应该避免使用该字符串,并且代码通常不需要该字符串

您的问题是getStatus被包装在另一个回调中。执行
window.getStatus=function(){}
,或者将代码转换为:

jQuery(document).ready(function($){
    var getStatus = function() {
      var post_id = $('#post_id').val();
      var nonce = $('#_wpnonce').val();
      jQuery.ajax({
        url : ajaxurl,
        data : {action: "update_edit_lock", post_id : post_id, nonce: nonce },
        success: function(response) {
          if(response == "false") {
            alert("failed")
          }
          else {
            $("#message").html(response)
          }
        }
        });
      setTimeout(getStatus,60000);
    };

    $(function() {   
     getStatus();
    });

},(jQuery));
将字符串传递给
setTimeout
将使其
eval
成为字符串,您应该避免使用该字符串,并且代码通常不需要该字符串使用
setInterval(函数,毫秒)

使用
setInterval(函数,毫秒)

你需要设定间隔。你需要设定间隔。