Jquery 如何在不重新加载页面的情况下从ajax中清除数据?
我有一个执行ajax的循环,其中ajax是另一个ajax,它们都在一个循环中:Jquery 如何在不重新加载页面的情况下从ajax中清除数据?,jquery,ajax,Jquery,Ajax,我有一个执行ajax的循环,其中ajax是另一个ajax,它们都在一个循环中: for (var i = 0; i < SomeLength; i ++) { $.ajaxFileUpload ({ #this is a plugin url : 'some perl url', .... ..... ...... success : function (data) { $.ajax({ myconcatinatedHTML += '
for (var i = 0; i < SomeLength; i ++) {
$.ajaxFileUpload ({ #this is a plugin
url : 'some perl url',
....
.....
......
success : function (data) {
$.ajax({
myconcatinatedHTML += 'Some auto generated HTML template';
});
}
});
}
但由于异步问题,我在显示它时遇到了问题,因此我最终将对话框放在了里面:
$(document).ajaxStop(function () {
$(".tech-file-upload-dialog").html( myconcatenatedHTML );
});
它修复了这个问题,但再次生成了另一个问题,即如果我不先重新加载页面,它总是以增量方式附加myconcatenatedHTML
的值
例如:如果第一次执行时myconcatenatedHTML
的值是foo
,第二次执行ajax时(不重新加载页面),myconcatenatedHTML
将是foo
,这不是我想要的
是否有办法在触发该对话框后清除
myconcatenatedHTML
的值?您应该按如下方式清除该变量
success : function (data) {
myconcatinatedHTML = "" //clearing the variable;
$.ajax({
myconcatinatedHTML += 'Some auto generated HTML template';
});
}
你认为操作员是做什么的<代码>myconcatatedHTML+='一些自动生成的HTML模板'代码>---解释你认为这句话应该做什么。它包含了,这是讽刺吗?不是。因此,您意识到您正在将已有的字符串与新字符串连接起来。是吗?是的,这就是我想做的,实际上它会把新的tr放到我的桌子上。先生,这里似乎有什么问题?所以您正在连接,但不想连接。对吗?为什么不改用
=
呢?从语法上讲,这是错误的。您不能以这种方式在对象中使用+=
。@zerkms这行{myconcatatedHTML+='Some auto-generated HTML template';}
@undefined:yes。现在我明白了。但是我不希望它在成功时被清除,因为ajax会成功很多次(它在一个循环内),我希望它在循环外被清除**请注意,将变量设置为空字符串也不起作用。
success : function (data) {
myconcatinatedHTML = "" //clearing the variable;
$.ajax({
myconcatinatedHTML += 'Some auto generated HTML template';
});
}