我一直在使用this加载另一个页面,只使用他们的示例:
$("#links").load("/Main_Page #jq-p-Getting-Started li");
但是我想在加载成功时运行一个函数,如果失败则运行另一个函数,不幸的是回调中的描述说:
ajax请求完成时调用的函数(不一定成功)。
如何确保加载成功?
感谢。
答案 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!
}
}
决心解决问题:
的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();
}
});