Jquery 无法读取属性';中止';未定义的

Jquery 无法读取属性';中止';未定义的,jquery,ajax,Jquery,Ajax,我使用的是$。每次用户键入输入时,获取jquery函数。 我的函数如下所示 function checkField(va) { $.get( '/admin-tool', { ctrl : 'checker', value : va }, function(d) { if($('.answer',d).text() != '1') {

我使用的是
$。每次用户键入输入时,获取
jquery函数。
我的函数如下所示

function checkField(va) {
    $.get(
        '/admin-tool',
        {
            ctrl : 'checker',
            value : va
        },
        function(d) {
            if($('.answer',d).text() != '1') {
                $('.main h1').text('Something went wrong, Read the instructions carefuly');
            }
    });
}
我需要使用
abort()
函数来防止前面的调用在最后一个调用之后完成他的xhr

所以我做了

 var xhrcall;
 function checkField(va) {
  xhrcall.abort();
    xhrcall = $.get(
        [...]
    });
}
但我承认错误

无法读取未定义的属性“中止”

当然它没有定义,但是ajax函数甚至不再启动了


我在这里误解了什么吗?

我对您的代码提供了一些注释。请检查一下

var xhrcall; // no value assigned here and probably nowhere else -> undefined!

function checkField(va) {
  xhrcall.abort(); // so this line causes the error and I believe JS execution stops here!!
  xhrcall = $.get(
    [...]
  });
}
如果要执行
$.get
请尝试以下操作(基本上,仅当
xhrcall
已初始化时才调用abort()):


快乐黑客:)

你是说
中止()
?是的,对不起,打字错误!我编辑
function checkField(va) {
  if (xhrcall)  { 
    xhrcall.abort(); 
  }
  xhrcall = $.get(
    [...]
  });
}