我似乎无法让这个解决方案适合我。
How to catch error in jQuery's load() method
这是我正在尝试的代码。
$("#a").load("load.html", function(responseText, textStatus, XMLHttpRequest) {
if (textStatus == "error") { alert("fail"); }
else { alert("success"); }
});
当load.html存在时,它可以正常工作,但是当它没有任何反应时。这是有道理的,因为如果它失败,它不应该进入回调。
有人可以指出我哪里出错吗?我试图让它在URL不存在时抛出错误。
如果这会影响任何事情,我正在尝试使用jQuery 1.3.2。
更新 问题似乎是因为我在本地而不是在服务器上工作。在线上传我的文件似乎工作正常,是否有部分jQuery需要服务器才能运行?
更新 做了一些测试并使用带错误回调的.load()不能脱机工作,但是.ajax()可以。感到困惑,但我们走了。
答案 0 :(得分:1)
试试这个
$.ajax({
url: 'load.html',
dataType: 'html',
success: function(data) {
//handle data object containing the html
$('#a').html(data);
},
error: function(xhr, error){
//generic error callback, you'll end up here when your file doesnt exist
}
});
答案 1 :(得分:0)
您可以在这里尝试:
<div id="div1"><h2>Let jQuery AJAX Change This Text</h2></div>
<button>Get External Content</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
$("#div1").load("demo_tes.txt", function(responseTxt, statusTxt, xhr){
if(statusTxt === "success")
alert("External content loaded successfully!");
if(statusTxt === "error")
alert("Error: " + xhr.status + ": " + xhr.statusText);
});
});
});
</script>