ReferenceError:无法找到变量:应该是调用方法

时间:2012-12-17 06:59:30

标签: javascript

我尝试每5秒申请一次网址。以下代码返回ReferenceError: Can't find variable: validateUserTime

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

我想知道我做错了什么是阻止调用方法而不是将其作为变量。有什么想法吗?

2 个答案:

答案 0 :(得分:4)

这只是定义一个匿名对象并抛弃它:

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

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

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

或者也许:

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

答案 1 :(得分:2)

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

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