你无法直接使用.load()
完成此操作,因为它返回用于链式操作的jQuery对象。但是,如果你改用完整的$.ajax()
调用和.html()
,你可以这样做:
var xhr = $.ajax({
url: 'mypage.htm',
success: function(data) {
$("#myElement").html(data);
}
});
//if needed, abort the request later..
xhr.abort();
这个例子使用.abort()
方法来中止XMLHttpRequest对象的加载。
所以,不再使用...
$('#myElement').load('mypage.htm #myImage');
我现在正在使用...
var xhr = $.ajax({
url: 'mypage.htm',
success: function(data) {
$("#myElement").html($(data).find("#myImage"));
}
});
//if needed, abort the request later..
xhr.abort();
$("#myElement").load("/mypage #mayImage", function(response, status, xhr) {
if (status == "error") {
xhr.abort();
}
});
应该像这样工作...
或者在另一个事件上,我发送了一个验证到一个长字段,用户更改了内容,我想停止之前的检查以重新检查:
xhr.abort();
$("#myElement").load("/mypage #mayImage", function(response, status, xhr) {
if (status == "error") {
xhr.abort();
}
});
您可以通过手动使用jQuery.ajax
来实现此操作。它将返回一个XMLHttpRequest
对象,您可以根据需要调用abort
。在成功处理程序中,您可以使用jQuery.html
。
$.ajax
会为你返回数据吗? - Homerdata
应该包含_mypage.htm_的HTML。$(data).find("#myImage")
正在搜索具有id _myImage_的元素的HTML。 - Homer