0

我尝试每 5 秒请求一次 URL。以下代码正在返回ReferenceError: Can't find variable: validateUserTime

$(document).ready(function() {
  ({
    validateUserTime: function() {
      return $.get('/myurl', function(data) {});
    }
  });
  return window.setInterval((function() {
    validateUserTime();
  }), 5000);
});

我想知道我做错了什么是阻止调用该方法而不是将其作为变量来执行。任何的想法?

4

2 回答 2

4

这只是定义了一个匿名对象并将其丢弃:

({
  validateUserTime: function() {
    return $.get('/myurl', function(data) {});
  }
});

那没有定义validateUserTime函数或方法。你想要这样的东西:

var validateUserTime = function() {
  return $.get('/myurl', function(data) {});
};

也许:

function validateUserTime() {
  return $.get('/myurl', function(data) {});
}
于 2012-12-17T07:03:29.260 回答
2

在第一个语句中,您使用的是对象文字而不将其分配给任何东西。将其分配给某些东西以修复它。

$(document).ready(function() {
  var functions = {
    validateUserTime: function() {
      return $.get('/myurl', function(data) {});
    }
  };
  return window.setInterval((function() {
    functions.validateUserTime();
  }), 5000);
});
于 2012-12-17T07:04:11.960 回答