这是我的Jquery:
$("#completeMe").autocomplete({
source: function (request, response) {
$.ajax({
url: "/Main.aspx/GetAutocomplete",
type: "POST",
dataType: "json",
data: Data,
contentType: "application/json; charset=utf-8",
success: function (data) {
response($.map(data, function (item) {
return { value: item };
}))
}
})
}
});
这是我的Main.aspx.cs:
[System.Web.Services.WebMethod]
public static List<string> GetAutocomplete(string cityName)
{
List<string> City = new List<string>() { "hh", "hh1" };
return City;
}
现在,当我返回字符串而不是List时,这是有效的。但是,当我使用List时,我会使用它:
未捕获TypeError:undefined不是函数jquery-ui.min.js:9 ...
我不明白,这个解决方案似乎对网络上的很多人有用,也许它与我的jquery / ui版本有关?我正在使用jquery 1.7.1.min和jquery-ui最新版本。
答案 0 :(得分:3)
像这样改变你的成功功能
success: function (data) {
response($.map(data.d, function (item) {
return { value: item };
}))
数据包含在data.d
属性中。