如何在不重新加载页面的情况下清除ajax中的数据?

时间:2013-10-04 01:14:13

标签: 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 += 'Some auto generated HTML template';
     });
   }
 });
}

在循环之后,我将myconcatenatedHTML的值放在对话框中。

$(".tech-file-upload-dialog").html( myconcatenatedHTML ); #this is the dialog box.

但是由于异步问题我显示它有问题,所以我最终把对话框放在里面:

$(document).ajaxStop(function () {
 $(".tech-file-upload-dialog").html( myconcatenatedHTML );
});

它修复了问题,但又生成了另一个问题,如果我不首先重新加载页面,它总是会附加INCREMENTALLY值myconcatenatedHTML

例如:如果myconcatenatedHTML的值最初为foo,则第二次执行ajax(不重新加载页面),myconcatenatedHTML将为foo foo我想要的是什么

有没有办法在触发该对话框后清除myconcatenatedHTML的值?

1 个答案:

答案 0 :(得分:-1)

您应该按如下方式清除变量。

success : function (data) {
myconcatinatedHTML  = "" //clearing the variable;
     $.ajax({
       myconcatinatedHTML += 'Some auto generated HTML template';
     });
   }