【问题标题】:What does this javascript response function do?这个javascript响应函数有什么作用?
【发布时间】:2023-03-03 15:45:01
【问题描述】:

我在另一个 SO 帖子中看到了这段代码:jQuery UI Autocomplete with ASP MVC

    $("#CustomerID").autocomplete({
        source: function(request, response) {
            $.ajax({
                type: "POST",
                url: "/customer/search",
                dataType: "json",
                data: {
                    term: request.term
                },
                error: function(xhr, textStatus, errorThrown) {
                    alert('Error: ' + xhr.responseText);
                },
                success: function(data) {
                    response($.map(data, function(c) {
                        return {
                            label: c.Company,
                            value: c.ID
                        }
                    }));
                }
            });
        },
        minLength: 2,
        select: function(event, ui) {
            alert('Select');
        }
    });

除了成功函数,我什么都懂。我知道 map 正在获取一个数组并将每个值映射到一个具有 label 和 value 属性的新对象并返回新数组,但我不确定 response() 的作用。

【问题讨论】:

    标签: javascript jquery response


    【解决方案1】:

    这个名为 response 的对象是一个回调函数,通过 autocomplete 方法传递给标记为 source 的函数。

    Jquery UI Autocompleate

    第三种变体,回调,提供了最大的灵活性,可用于将任何数据源连接到自动完成。回调有两个参数:

    一个请求对象,具有一个名为“term”的属性,它指的是文本输入中当前的值。例如,当用户在城市字段中输入“new yo”时,自动填充词将等于“new yo”。

    response 回调,它需要一个参数来包含要向用户建议的数据。此数据应根据提供的术语进行过滤,并且可以采用上述简单本地数据的任何格式(字符串数组或具有标签/值/两个属性的对象数组)。在请求期间提供自定义源回调以处理错误时,这一点很重要。即使遇到错误,您也必须始终调用响应回调。这可确保小部件始终具有正确的状态。

    【讨论】:

    • 哇,我怎么错过了。掌心:)
    • @david waters 我们可以设置请求期限吗?如何设置?
    【解决方案2】:

    这似乎是原始编码器代码具有的自定义功能。据我所知,这不是一个固有的 jQuery 函数。

    【讨论】:

      猜你喜欢
      • 2017-07-25
      • 1970-01-01
      • 2014-06-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-23
      • 1970-01-01
      相关资源
      最近更新 更多