56

.load()当用户单击按钮时,我正在使用 jQuery 的方法来检索一些数据。

加载成功完成后,我将结果显示在<div>.

load()问题是,有时在检索数据时会发生错误。

我怎样才能发现错误load()

4

4 回答 4

88

加载()文档。

只是关于如何发生加载错误的一点背景......

$("body").load("/someotherpath/feedsx.pxhp", {limit: 25}, 
    function (responseText, textStatus, req) {
        if (textStatus == "error") {
          return "oh noes!!!!";
        }
});

编辑:根据评论的要求添加了根路径以外的路径。

于 2009-04-15T19:35:20.623 回答
13

除了按照 Ólafur Waage 的建议将回调传递给 load() 函数外,您还可以注册“全局”错误处理程序(全局与页面上所有 ajax 调用的全局一样)。

至少有两种注册全局 Ajax 错误处理程序的方法:

仅注册错误处理程序ajaxError()

$.ajaxError(function(event, request, settings) {
      alert("Oops!!");
});

或者,用于ajaxSetup()同时设置错误处理程序和其他属性:

$.ajaxSetup({
    timeout: 5000,
    error: function(event, request, settings){
        alert("Oops!");
    }
});
于 2009-04-15T19:34:28.380 回答
6

load() 提供回调。

打回来。
ajax 请求完成时调用的函数(不一定成功)。

这就是它完成 IIRC 的方式。(没有测试过)

$("#feeds").load("feeds.php", {limit: 25}, 
    function (responseText, textStatus, XMLHttpRequest) {
        // XMLHttpRequest.responseText has the error info you want.
        alert(XMLHttpRequest.responseText);
});
于 2009-04-15T19:27:08.910 回答
0

Electric toolbox 有一篇名为“使用 jQuery AJAX 加载内容并处理故障”的文章似乎可以回答您的问题。

显然,您指定的回调函数会传递响应、状态和 XmlHttpRequest 对象,从而允许您确定 ajax 请求的状态并相应地处理条件。

于 2009-04-15T19:37:05.360 回答