3

我正在使用带有远程数据源的 Jquery 自动完成功能,但是,有时尝试在我的服务器中进行搜索时会返回错误,因为我正在使用像数据源这样的休息 Web 服务。我想知道我的网络服务返回的状态码并打印错误消息示例:

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

假设我的 web 服务返回状态码 404,例如,我想获取此状态码并调用警报窗口。

这就是所有的人!

4

1 回答 1

5

您可以重新构造您的小部件以使用函数作为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 );
    };
};
于 2012-04-24T13:31:08.833 回答