【发布时间】:2014-10-27 18:35:35
【问题描述】:
见以下代码sn-p:
$("#someid").autocomplete({
source: function (req, resp) {
$.ajax({
url: "/api/someapi",
type: "GET",
dataType: "json",
data: { id: req.someid },
beforeSend : function()
{
},
success: function (data) {
resp($.map(data, function (item) {
return {
label: "<div class='result'>" + item.name + "</div>",
value: item.Name,
emailName: item.EmailName
};
}));
}
}
});
});
我的问题如下:
- ajax 调用的来源是一个函数 - function(req, resp) - jQuery 是否接受具有两个参数的函数作为源数据提供者?这是默认的吗?
- 谁能解释一下成功后的功能:?基本上,我可以得到它使用来自 ajax 响应的数据;将每个数据映射到一个带有一些 CSS 装饰的项目。但我的问题是:用 resp 包装 $.map 的目的是什么?
- 我们可以看到这段代码 sn-p 中有几个回调。然而,由于我对 jQuery 很陌生,我想知道如何确定每个回调传递多少参数,比如在 source: 之后我们可以有一个带有两个参数的回调;在 $.map 之后,我们可以有另一个只有一个参数的回调?
【问题讨论】:
标签: javascript jquery ajax