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 に答える