Javascript JQuery$。使用ajax数组时
我正在尝试获取Javascript JQuery$。使用ajax数组时,javascript,jquery,Javascript,Jquery,我正在尝试获取$。当使用我的代码时。情况是,我有一个方法可以激发大量Ajax请求,我想在请求运行时为用户显示一个加载尖叫。什么时候才是我可以藏起来的时候。根据我对$的了解,以下代码应该在时工作,但when函数永远不会启动 self.createTaggingDialog(self); var ajaxArray = new Array(); self.containers.each(function () { var ImageClass = $(this).ImageTags();
$。当
使用我的代码时。情况是,我有一个方法可以激发大量Ajax请求,我想在请求运行时为用户显示一个加载尖叫。什么时候才是我可以藏起来的时候。根据我对$的了解,以下代码应该在时工作,但when函数永远不会启动
self.createTaggingDialog(self);
var ajaxArray = new Array();
self.containers.each(function () {
var ImageClass = $(this).ImageTags();
if (ImageClass != null) {
ajaxArray.push(ImageClass.TagUser(ImageClass, username));
}
});
$.when(ajaxArray, function () {
console.log("DONE!");
self.RemoveTagggingDialog(self);
});
以下是ajaxArray
达到$时的值
标记用户:
TagUser(self: ImageTags, username: string) {
return $.ajax({
type: "POST",
url: self.options.UrlTagUser,
data: {
username: username,
imageid: self.options.ImageId
},
success: function (data: UserAddJson) {
if (data.Successful) {
if (self.AddUserElement != null) {
self.AddUserElement.find('input').val('');
self.AddUserElement.modal('hide');
}
self.TagUserSuccess(self, data);
} else {
self.TagUserError(self, data.Message);
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
self.TagUserError(self, "");
}
});
}
试一试
您不应该将$
作为上下文而不是窗口
传递吗?@m90 Yes可能有to@m90此示例似乎使用window
作为此操作的第一个参数,但现在功能立即启动,它不会等待ajax请求发出finish@DoomStoneImageClass.TagUser返回了什么(ImageClass,username)我假设self.containers。每个都不是异步的,那么为什么需要jQuery。当通常用于延迟时?只需将回调中的代码放在下面的集合中循环即可。。。
$.when.apply($, ajaxArray).done(function () {
console.log("DONE!");
self.RemoveTagggingDialog(self);
});