1
所以我有一个JavaScript方法,用户选择某些复选框后运行。此方法使一个AJAX调用呈现“标题”视图,然后对每个选定的复选框进行AJAX调用,然后再附加这些视图。需要这些AJAX调用发生在前一个完成后
问题是,当我通过JQuery循环检查框并为它们中的每一个进行AJAX调用时,它只是按照正确的顺序依次创建一堆AJAX调用,但是它们会得到取决于每个人花费多长时间在不同的时间呈现。我想这是AJAX的美妙之处,但我需要它按照我称之为这个特定任务的顺序进行渲染。
这里是方法:
function GenerateTermSheet()
{
var urlString = "<%= System.Web.VirtualPathUtility.ToAbsolute("~/mvc/Indications.cfc/RenderPartialTermSheetView")%>";
var jsonNickname =
{
id : GetGUIDValue(),
viewName : 'Nickname'
}
$.ajax({
type: "POST",
url: urlString,
data: jsonNickname,
success: function(data) {
$('#termSheetPrinted').append(data);
}
});
$('#termSheetPopup input[type="checkbox"]:checked').each(function(){
var checkedName = $(this).attr("name");
var json =
{
id : GetGUIDValue(),
viewName : checkedName
}
$.ajax({
type: "POST",
url: urlString,
data: json,
success: function(data) {
$('#termSheetPrinted').append(data);
}
});
})
$('#termSheetPopup').dialog('close');
$('#termSheetPrinted').dialog('open');
}
知道我能做到这一点?谢谢!
为什么要做一堆AJAX调用?为什么不在一个AJAX调用中发送数据并在服务器端处理呢?如果你一个接一个地发生,那么用户不需要输入,所以你可以达到同样的效果。 – JasCav 2011-02-17 15:27:08
因此,在Guid中发送一个AJAX呼叫以及所有选中名称的列表?唯一的是,我的控制器方法返回视图,然后JQuery将返回的视图附加到div。我如何从一个控制器动作中一次返回一堆视图? – slandau 2011-02-17 15:30:41