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