【发布时间】:2012-03-19 12:26:53
【问题描述】:
我有这个自动完成 jqueryUI 的代码:
.autocomplete({
source: function( request, response ) {
var results = $.getJSON( url, {
term: extractLast( request.term )
}, response );
console.log(results);
},...
var 'results' 的 console.log 如下所示:
我需要提取 response 或 responseText 字段以测试是否为空并弹出未找到匹配项的错误。但是没有任何方法可以检索该字段:
results.response
results.getResponse()
results.getResponseHeader()
这些方法都不起作用。谢谢
两个答案都有效:它正确地返回了我的回复。我可以测试它..但它打破了我的自动完成。我还在研究。
第三种变体,回调,提供了最大的灵活性,可用于将任何数据源连接到自动完成。回调有两个参数:
一个请求对象,具有一个名为“term”的属性,它指的是 到文本输入中当前的值。例如,当用户 在城市字段中输入“new yo”,自动完成项将等于 “新哟”。
一个响应回调,它需要一个参数 包含要向用户建议的数据。应过滤此数据 基于提供的术语,并且可以采用所描述的任何格式 以上用于简单的本地数据(字符串数组或对象数组) 标签/值/两个属性)。提供自定义时很重要 源回调来处理请求期间的错误。你必须永远 即使遇到错误也调用响应回调。这个 确保小部件始终具有正确的状态。
这是关于回调函数源的 jquery UI 自动完成文档。我不明白为什么新版本不起作用
【问题讨论】:
标签: javascript jquery ajax xmlhttprequest response