【发布时间】:2016-02-09 05:59:48
【问题描述】:
我已经看到这个问题发布了很多次,在我的一生中,我似乎无法弄清楚这个问题。我有一个用于获取 JSON 的远程源,并且我能够看到 JSON 在控制台中返回,但我无法将其输出。我需要的是输出到自动完成的“描述:”和“状态”。有人可以告诉我哪里出错了吗?
这是我的功能:
$(function() {
$( "#locationSearch" ).autocomplete({
source: function( request, response ) {
$.ajax({
type: "GET",
url: "https://www.datasample.com/Services/AutoComplete.ashx",
dataType: "jsonp",
data: {
term: request.term,
},
success: function( data ) {
response( $.map( data.results, function( result ) {
return {
label: result.Description,
value: result.State
}
}));
}
});
},
minLength: 3
});
});
这是返回的 JSON:
{"term":"Boston","results":[{"Description":"Boston, MA","Lat":0.0,"Lng":0.0,"Category":"City","Radius ":null,"State":"MA"},{"Description":"Boston, NY","Lat":0.0,"Lng":0.0,"Category":"City","Radius":null, "州":"NY"},{"Description":"波士顿高地, OH","Lat":0.0,"Lng":0.0,"Category":"City","Radius":null,"State" :"OH"}]}
这是 HTML:
<input name="locationSearch" id="locationSearch" type="text" />
【问题讨论】:
-
我应该补充一点,我尝试将 dataType 从“jsonp”更改为“json”,结果相同。
-
我认为你想映射 $.map(data.results) 而不仅仅是数据。
-
我也试过了,但收到一个错误“Uncaught SyntaxError: Unexpected token :”