JQuery自动完成,源代码指向.aspx
无论我如何以列表或JSON字符串的形式返回数据,jQuery Autocomplete插件都不会在下拉列表中显示值 Javascript:JQuery自动完成,源代码指向.aspx,jquery,jquery-autocomplete,Jquery,Jquery Autocomplete,无论我如何以列表或JSON字符串的形式返回数据,jQuery Autocomplete插件都不会在下拉列表中显示值 Javascript: $("#myText").autocomplete({ source: function (request, response) { $.ajax({ type: "POST", url: "Default.aspx/GetList", contentType:
$("#myText").autocomplete({
source: function (request, response) {
$.ajax({
type: "POST",
url: "Default.aspx/GetList",
contentType: "application/json; charset=utf-8",
dataType: "json",
data: "{'term':'" + request.term + "'}",
success: function (data) {
response(data);
},
error: function (xhr, error) {
console.debug(xhr); console.debug(error);
}
});
},
minLength: 0,
select: function (event, ui) {
var result = ui.item.id;
}
});
服务器端(.aspx):
[ScriptMethod(ResponseFormat=ResponseFormat.Json),WebMethod]
公共静态字符串GetList(字符串术语)
{
列表=新列表();
添加(“苹果”);
添加(“杏子”);
添加(“苹果酒”);
string json=“[”+字符串.连接(“,”,
列表。选择(i=>
“{'id':'“+i+”“+”}”
)) + "]";
返回json;
}
我附上了两张图片,第一张显示了它在浏览器中的显示方式,第二张是javascript中的断点
我做错了什么
使用了JavaScriptSerializer,它很有效
[ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod]
public static string GetList(string term)
{
List<string> list = new List<string>();
list.Add("apple");
list.Add("apricot");
list.Add("apple cider");
JavaScriptSerializer serialize = new JavaScriptSerializer();
string result = serialize.Serialize(list);
return result;
}
[ScriptMethod(ResponseFormat=ResponseFormat.Json),WebMethod]
公共静态字符串GetList(字符串术语)
{
列表=新列表();
添加(“苹果”);
添加(“杏子”);
添加(“苹果酒”);
JavaScriptSerializer serialize=新的JavaScriptSerializer();
字符串结果=serialize.serialize(列表);
返回结果;
}
[ScriptMethod(ResponseFormat = ResponseFormat.Json), WebMethod]
public static string GetList(string term)
{
List<string> list = new List<string>();
list.Add("apple");
list.Add("apricot");
list.Add("apple cider");
JavaScriptSerializer serialize = new JavaScriptSerializer();
string result = serialize.Serialize(list);
return result;
}