Wil*_*nda 3 error-handling jquery jquery-ui jquery-ui-autocomplete
我正在使用带有远程数据源的 Jquery 自动完成,但是,有时在我的服务器中尝试搜索时会返回错误,因为我使用的是像数据源这样的休息网络服务。我想知道我的网络服务返回了什么状态代码并打印错误消息示例:
$(idObjeto).autocomplete({
source:url,
minLength: 3,
select:function(data,ui){
$(formatIdJQuery(idObjValueReceptor)).val(ui.item.id);
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + " - <strong>" + item.id + "</strong></a>" )
.appendTo( ul );
};
}
Run Code Online (Sandbox Code Playgroud)
假设我的网络服务返回状态代码 404,例如,我想获取此状态代码并调用警报窗口。
这就是所有的人!
您可以重新构建您的小部件以使用函数作为source
参数,然后自己发出 AJAX 请求并在出现错误时执行您想做的任何操作:
$(idObjeto).autocomplete({
source: function (request, response) {
$.ajax({
url: url,
dataType: "json",
data: request,
success: function (data) {
response(data);
},
error: function () {
response([]); // send no results to the widget.
alert("an error occurred!");
}
});
},
minLength: 3,
select:function(data,ui){
$(formatIdJQuery(idObjValueReceptor)).val(ui.item.id);
}
}).data( "autocomplete" )._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.label + " - <strong>" + item.id + "</strong></a>" )
.appendTo( ul );
};
};
Run Code Online (Sandbox Code Playgroud)