好吧,我只是在服务器端用VB.net实现了jquery-ui-autocomplete,但这是因为我遵循了一个例子,有没有人可以尝试解释(对于哑巴)这段代码是如何工作的?我不知道的部分在返回(成功事件)中:
$("#kSerial").autocomplete({
source: function (request, response) {
dataFromServer = "";
$.ajax({
type: "POST",
url: URL + 'regresaSeriales',
async: false,
contentType: "application/json; charset=utf-8",
data: "{" + "'serial':'" + request.term + "'" + "}",
dataType: "json",
success: function (msg) {
/*This is the part I just don't get it*/
response($.map(msg.d, function (item) {
return {
value: item.serial
};
}));
/*and ends here*/
},
error: function () {
serial = 0;
}
})
},在我的服务器端,我返回一个“串行”对象列表(List (of T)),它工作得很好。
我只是遵循了一个示例并适应了我的服务器端代码,但我不知道它是如何工作的返回部分,我的意思是,我知道"source“属性接受回调,但不知道它如何在ajax请求的成功事件中工作代码。
事实上,我既不知道回调中两个参数的原因,特别是"request",(request,response)。
这是我基于我的代码的教程:http://www.dotnetcurry.com/ShowArticle.aspx?ID=515
发布于 2012-05-15 00:19:08
它获取响应数据,获取d对象属性(一个数组),遍历该对象,并为该数组中的每个项创建一个具有该项的serial属性的value属性的对象。
$.map call将所有这些对象放入一个数组中,并将其发送给response函数(自动补全插件的IIRC部分,用于显示补全)。
request参数只是一个包含搜索词或“文本输入中的内容”的对象。这在autocomplete overview docs中有描述。
https://stackoverflow.com/questions/10587103
复制相似问题