我试图让一些自动完成工作。我有这个 URL 我应该从以下位置读取我的 JSON:
http://openscan.addi.dk/2.0/?action=openScan&field=phrase.title&lower=hest&limit=10&outputType=json
当我收到结果时,我尝试将其映射到我的 jquery 自动完成中,我使用以下 jquery:
<script type="text/javascript">
$(function () {
function log(message) {
$("<div/>").text(message).prependTo("#log");
$("#log").scrollTop(0);
}
$("#search").autocomplete({
source: function (request, response) {
$.ajax({
url: "http://openscan.addi.dk/2.0/?action=openScan&field=phrase.title&lower=hest&limit=10&outputType=json",
dataType: "jsonp",
success: function (data) {
response($.map(data.scanResponse.term, function (item) {
return {
label: item.name+' ( '+item.hitCount+')',
value: item.name
}
}));
}
});
},
minLength: 2,
select: function (event, ui) {
log(ui.item ?
"Selected: " + ui.item.label :
"Nothing selected, input was " + this.value);
},
open: function () {
$(this).removeClass("ui-corner-all").addClass("ui-corner-top");
},
close: function () {
$(this).removeClass("ui-corner-top").addClass("ui-corner-all");
}
});
});
</script>
<h2>
Demo of autocomplete using OpenScan
</h2>
Start typing below.<br />
<input id="search" />
我的问题是结果它不像我以前见过的有限数量的 JSON,它包含 $ 和 @ 属性,我如何索引它们?
编辑 将 data.scanResponse 更改为 data.scanResponse.term