Jquery关于ajax回调的问题

时间:2014-10-27 18:35:35

标签: javascript jquery ajax

请参阅以下代码段:

$("#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
                    };
                }));
            }
            }
        });
    });

我的问题如下:

  1. ajax调用的来源是一个函数 - 函数(req,resp) - jQuery是否接受一个带有两个参数作为源数据提供者的函数?这是默认的吗?
  2. 任何人都可以在 成功之后解释这个功能: ?基本上,我可以得到它使用来自ajax响应的数据;使用一些css装饰将每个数据映射到一个项目。但我的问题是:使用 resp 包装$ .map的目标是什么?
  3. 我们可以看到此代码段中有几个回调。但是,由于我对jQuery很陌生,我想知道如何确定要传递给每个回调的参数数量,比如在 source:之后我们可以使用两个参数进行回调;在$ .map之后,我们可以只使用一个参数进行另一个回调吗?

1 个答案:

答案 0 :(得分:0)

  1. 是的,我们可以传递多个参数,这取决于被调用的事件&amp;如何定义。
  2. 成功是回调Ajax被调用自动完成功能。
  3. 你应该在jQuery网站上阅读这些函数的文档。
  4. <强> jQuery API Doc