我有一个如下所示的自动完成代码。它从 ajax 成功获得正确的响应,但我不能在它下面的 grep 函数上使用响应变量。它说它是未定义的。如果我要使用全局变量,这种情况也是有效的。我怎样才能看到响应变量?
$( ".skl" ).autocomplete({
source: function(req, responseFn)
{
var re = $.ui.autocomplete.escapeRegex(req.term);
var matcher = new RegExp( "^" + re, "i");
var matcher2 = new RegExp( " " + re, "i" );
$.ajax({
type: 'POST',
url: "http://somepage",
data: { skillType: 1, skillName: re},
success: function( response){
console.log(response);
}
});
var a = $.grep( availableTags, function(item,index){
return matcher.test((item)) || matcher2.test(item);
});
//var results = $.ui.autocomplete.filter(availableTags, req.term);
responseFn( a.slice( 0,5) );
},
minLength: 1,
autoFocus: true
});