Jquery 删除以前的ajax名为result?

Jquery 删除以前的ajax名为result?,jquery,ajax,Jquery,Ajax,我正在使用jquery,我有两个ajax调用函数。当我调用第一个ajax请求时 结果将显示在div id=result处。然后调用第二个ajax,我希望它也显示在divid=result处,并替换从第一个ajax返回的前一个结果。根据我的测试,我仍然能够在浏览器开发工具下看到以前的结果 第二个问题是,重复单击是否会导致内存泄漏 $.ajax({ url: "ajax/func1", type: "post" }); $.ajax({ url: "ajax/func2", typ

我正在使用jquery,我有两个ajax调用函数。当我调用第一个ajax请求时 结果将显示在div id=result处。然后调用第二个ajax,我希望它也显示在divid=result处,并替换从第一个ajax返回的前一个结果。根据我的测试,我仍然能够在浏览器开发工具下看到以前的结果

第二个问题是,重复单击是否会导致内存泄漏

$.ajax({
  url: "ajax/func1",
  type: "post"
});

$.ajax({
  url: "ajax/func2",
  type: "post"
});

Javascript本质上是单线程的,所以您的调用永远不会冲突或导致内存泄漏。然而,时机尚未确定。完成的第一个调用将首先执行


换句话说,所有异步回调都将依次发生在同一个线程上。

Javascript本质上是单线程的,因此您的调用不会冲突或导致内存泄漏。然而,时机尚未确定。完成的第一个调用将首先执行

换句话说,所有异步回调都将依次发生在同一个线程上。

然后我调用第二个ajax,希望它也显示在div id=result处,并替换从第一个ajax返回的前一个结果。 每次使用html方法都应该用返回的结果替换内容。 例如,可以在done回调中将结果分配给div

$.ajax({
  url: "ajax/func1",
  type: "post"
}).done(function(result) { 
  $("#result").html(result);
});

$.ajax({
  url: "ajax/func2",
  type: "post"
}).done(function(result) { 
  $("#result").html(result);
});
“完成”与“成功”基本相同,但如果我正确理解中的注释,可能很快就会被弃用

弃用通知:jqXHR.success、jqXHR.error和 jqXHR.complete回调在jQuery1.8中将被弃用。到 为最终删除它们准备代码,使用jqXHR.done, jqXHR.fail,而jqXHR.always代替

如果反复点击是否会导致内存泄漏? 不,它不应该导致内存泄漏。所有请求都应该依次执行。

然后我调用第二个ajax,希望它也显示在div id=result处,并替换第一个ajax返回的前一个结果。 每次使用html方法都应该用返回的结果替换内容。 例如,可以在done回调中将结果分配给div

$.ajax({
  url: "ajax/func1",
  type: "post"
}).done(function(result) { 
  $("#result").html(result);
});

$.ajax({
  url: "ajax/func2",
  type: "post"
}).done(function(result) { 
  $("#result").html(result);
});
“完成”与“成功”基本相同,但如果我正确理解中的注释,可能很快就会被弃用

弃用通知:jqXHR.success、jqXHR.error和 jqXHR.complete回调在jQuery1.8中将被弃用。到 为最终删除它们准备代码,使用jqXHR.done, jqXHR.fail,而jqXHR.always代替

如果反复点击是否会导致内存泄漏?
不,它不应该导致内存泄漏。所有请求都应该在彼此之后执行。

如果有两个ajax异步请求,第二个请求可以在第一个请求之前完成。在这种情况下,您最终将看到第一个结果。 您应该在第一个请求的成功回调中调用第二个ajax请求。例如:

 $.ajax({
  url:'someurl',
  type:'post'
  success: function(){
  // Insert smth in result div
  // call second ajax request
}

如果有两个ajax异步请求,第二个请求可以在第一个请求之前完成。在这种情况下,您最终将看到第一个结果。 您应该在第一个请求的成功回调中调用第二个ajax请求。例如:

 $.ajax({
  url:'someurl',
  type:'post'
  success: function(){
  // Insert smth in result div
  // call second ajax request
}

您可以在第二个结果之前使用带有空字符串的.html'-html函数,该函数将第一个结果替换为空,然后将替换第二个ajax调用的结果

代码如下:

$.ajax{

url:'someurl'

类型:'post'

成功:功能{

$result.htmlresult

}

})

$.ajax{

url:ajax/func2

类型:邮政

成功:功能{

$result.html“”

$result.htmlresult

}


})

您可以在第二个结果之前使用带有空字符串的.html'-html函数,该函数将第一个结果替换为空,然后将替换第二个ajax调用的结果

代码如下:

$.ajax{

url:'someurl'

类型:'post'

成功:功能{

$result.htmlresult

}

})

$.ajax{

url:ajax/func2

类型:邮政

成功:功能{

$result.html“”

$result.htmlresult

}

})