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(
[...]
});
}