代码之家  ›  专栏  ›  技术社区  ›  Eran Kampf

jquery ui自动完成-如何处理Ajax错误?

  •  4
  • Eran Kampf  · 技术社区  · 14 年前

    我使用jquery autocomplete控件通过Ajax调用从服务器自动完成。 我实现了搜索事件以在从服务器获取结果时显示“正在加载…”动画。 如果从服务器获取自动完成结果失败(超时或其他),我想禁用该动画并显示一条消息。 最好的方法是什么?

    2 回复  |  直到 11 年前
        1
  •  4
  •   peol    14 年前

    查看jquery.ajax error方法,它允许您为所有Ajax调用设置默认错误回调; http://api.jquery.com/ajaxError/

        2
  •  0
  •   FreemanAMG    11 年前

    我发现自己正处于这种情况。我想从文本框中清除微调器,并用红色突出显示它,以提供错误的视觉反馈。但我在DOM中有三个不同的文本框使用相同的函数。所以,你可以这样做:

    function autocompleteSource(request,response){
        //"this" is the widget object, you can get the element that called the autocomplete function from here
        var callerTextbox = $(this.element);
        $.get(url,data).done(/*do your stuff with the data*/).fail(function(){
            highlight(callerTextbox) //That's my own function, uses jquery animation effects
            response([]); //Use an empty response for clear the textbox
        });
    }