这个 JavaScript 响应函数有什么作用?

发布于 2024-10-20 03:55:55 字数 1133 浏览 2 评论 0原文

我在另一篇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() 的作用。

I saw this code in another SO post: 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');
        }
    });

I understand everything except the success function. I know that map is taking an array and mapping each value to a new object that has a label and value property and returning the new array, but I am not sure what response() does.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

°如果伤别离去 2024-10-27 03:55:55

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

请参阅 Jquery UI 自动完成

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

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

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

This object called response is a call back function passed to the function labeled source by the autocomplete method.

see Jquery UI Autocompleate

The third variation, the callback, provides the most flexibility, and can be used to connect any data source to Autocomplete. The callback gets two arguments:

A request object, with a single property called "term", which refers to the value currently in the text input. For example, when the user entered "new yo" in a city field, the Autocomplete term will equal "new yo".

A response callback, which expects a single argument to contain the data to suggest to the user. This data should be filtered based on the provided term, and can be in any of the formats described above for simple local data (String-Array or Object-Array with label/value/both properties). It's important when providing a custom source callback to handle errors during the request. You must always call the response callback even if you encounter an error. This ensures that the widget always has the correct state.

锦上情书 2024-10-27 03:55:55

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

It appears to be a custom function that the original coder's code has. To the best of my knowledge this is not an inherent jQuery function.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文