检查Jquery ajax加载成功

时间:2009-06-01 19:31:12

标签: jquery ajax

我一直在使用this加载另一个页面,只使用他们的示例:

$("#links").load("/Main_Page #jq-p-Getting-Started li");

但是我想在加载成功时运行一个函数,如果失败则运行另一个函数,不幸的是回调中的描述说:

  

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

如何确保加载成功?

感谢。

4 个答案:

答案 0 :(得分:20)

检查回复的textStatus

$("#links").load("/Main_Page #jq-p-Getting-Started li", 
  function (responseText, textStatus, XMLHttpRequest) {
    if (textStatus == "success") {
         // all good!
    }
    if (textStatus == "error") {
         // oh noes!
    }
  }

决心解决问题:

success fail

的JSBin示例

答案 1 :(得分:2)

您可以尝试使用更详细的$ .ajax()方法调用。这将为您提供对AJAX调用的更细粒度的控制(但它还需要比简单的.load()更多的工作。)它将允许您根据您的调用返回成功还是错误来调用不同的函数。 / p>

查看:http://docs.jquery.com/Ajax/jQuery.ajax#options了解有关此功能的文档。如果单击该页面上的“选项”选项卡,您将获得可以传递给$ .ajax()函数的参数的完整列表。

答案 2 :(得分:1)

回调的第二个参数是请求的字符串状态值,它将是"beforeSend""success""complete""error"之一。

答案 3 :(得分:0)

我使用此功能,它对我有用:

$.ajax({
   url: "demo_test.txt", 
   success: function(result){
       location:reload();
   }
});