Javascript jQuery自动完成和角度http返回错误
因此,我正在使用ajax自动完成数据库,这是我当前的代码: HTML:Javascript jQuery自动完成和角度http返回错误,javascript,jquery,angularjs,ajax,autocomplete,Javascript,Jquery,Angularjs,Ajax,Autocomplete,因此,我正在使用ajax自动完成数据库,这是我当前的代码: HTML: <input ng-keyup="searchCustomer()" id="customerAutocomplete" type="text"> 每当我键入内容时,控制台中的输出如下: 如您所见,它返回console.log,但出现了一个错误,并且没有显示自动完成 在的使用部分中,有一部分我已经尝试过了,并且成功了 var countries = [ { value: 'Andorra', data
<input ng-keyup="searchCustomer()" id="customerAutocomplete" type="text">
每当我键入内容时,控制台中的输出如下:
如您所见,它返回console.log,但出现了一个错误,并且没有显示自动完成
在的使用部分中,有一部分我已经尝试过了,并且成功了
var countries = [
{ value: 'Andorra', data: 'AD' },
{ value: 'Zimbabwe', data: 'ZZ' }
];
$('#autocomplete').autocomplete({
lookup: countries,
onSelect: function (suggestion) {
alert('You selected: ' + suggestion.value + ', ' + suggestion.data);
}
});
但每当我从http调用中为自己的数据更改countries变量时,仍然会出现错误
我查了图书馆的第85行
它是返回suggestion.value.toLowerCase().indexOf(queryLowerCase)!=-1;代码>
因此,我的第一个猜测是将JSON.stringify
响应.data
字符串化,然后我得到:
所以它也不起作用。非常感谢您的帮助。根据
jQuery Autocomplete
服务器的响应必须是JSON格式的JavaScript对象,如下所示:
{
// Query is not required as of version 1.2.5
"query": "Unit",
"suggestions": [
{ "value": "United Arab Emirates", "data": "AE" },
{ "value": "United Kingdom", "data": "UK" },
{ "value": "United States", "data": "US" }
]
}
或者您需要使用函数将API响应解析为标准响应
我认为,在您的情况下,应该如下所示:
//HTML
<input id="customerAutocomplete" type="text">
根据
jQuery Autocomplete
的要求,来自服务器的响应必须是JSON格式的JavaScript对象,如下所示:
{
// Query is not required as of version 1.2.5
"query": "Unit",
"suggestions": [
{ "value": "United Arab Emirates", "data": "AE" },
{ "value": "United Kingdom", "data": "UK" },
{ "value": "United States", "data": "US" }
]
}
或者您需要使用函数将API响应解析为标准响应
我认为,在您的情况下,应该如下所示:
//HTML
<input id="customerAutocomplete" type="text">
在这部分建议:$.map(response.data,function(dataItem))我已经更新了我的答案,因为我认为
searchCustomer
功能是不需要的。因此,进行相应的其他更改。在这部分建议:$.map(response.data,function(dataItem)我已经更新了我的答案,因为我认为searchCustomer
功能是不需要的。因此,请相应地进行其他更改。