Javascript 正在中止jQuery().load()

Javascript 正在中止jQuery().load(),javascript,ajax,jquery,Javascript,Ajax,Jquery,库的功能允许您有选择地从另一个页面加载元素(根据某些规则)。我想知道是否可以中止加载过程 在我们的应用程序中,用户可以浏览项目列表。他们可以选择单击一个按钮,从另一个文档(可能需要一些时间)加载并显示有关项目的附加信息。如果他们在列表中选择了不同的项目,而.load()仍在发生,我希望中止加载 这可能吗?值得吗?有什么想法吗 Dan您可以手动使用。它将返回一个对象,您可以根据需要调用该对象。在成功处理程序中,您可以使用因为它返回用于链接的jQuery对象,所以不能直接使用,但是如果您使用更改为完

库的功能允许您有选择地从另一个页面加载元素(根据某些规则)。我想知道是否可以中止加载过程

在我们的应用程序中,用户可以浏览项目列表。他们可以选择单击一个按钮,从另一个文档(可能需要一些时间)加载并显示有关项目的附加信息。如果他们在列表中选择了不同的项目,而
.load()
仍在发生,我希望中止加载

这可能吗?值得吗?有什么想法吗

Dan

您可以手动使用。它将返回一个对象,您可以根据需要调用该对象。在成功处理程序中,您可以使用

因为它返回用于链接的jQuery对象,所以不能直接使用,但是如果您使用更改为完整调用,您可以这样做:

var xhr = $.ajax({
            url: 'mypage.htm',
            success: function(data) {
              $("#myElement").html(data);
            }
          });
//if needed, abort the request later..
xhr.abort();

这使用中断加载。

尼克的回答几乎是我所需要的,但不完全是。我使用.load()仅从页面加载图像。所以,在Nick的回答上继续

所以不是

$('#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();
你应该像这样工作

或者在另一个事件中,我在一个长字段上发送验证,用户更改内容,我想停止以前的检查以重新检查:

xhr.abort();

$("#myElement").load("/mypage #mayImage", function(response, status, xhr) {
  if (status == "error") {
    xhr.abort();
  }
});

这对我来说不起作用…我认为问题在于.find…是否有其他选项可以让我不使用.loads就获取特定的div…而
$.ajax
是否为您返回数据?是的,如果我只使用$(“#myElement”).html(数据)…但是,当我添加.find…时,没有返回任何内容,我确信调用成功。听起来返回的HTML没有您要查找的元素<代码>数据应包含mypage.htm的HTML<代码>$(数据).find(“#myImage”)正在该HTML中搜索id为myImage的元素。我将(数据)转储到屏幕,它包含我需要的页面…但是.find似乎无法在页面中找到id。我有$(“#google#books_resp”).html($(数据).find(“#google#books_resp”);而div是一个很重要的东西
xhr.abort();

$("#myElement").load("/mypage #mayImage", function(response, status, xhr) {
  if (status == "error") {
    xhr.abort();
  }
});