延迟执行语句,直到preveouus绑定仍在进行中(jquery,ajax)

时间:2010-01-27 12:21:02

标签: jquery asp.net-mvc ajax

在我的页面中,我使用带有一些参数的$ .get调用控制器,

该控制器返回一个视图页面(.aspx), 现在,我每次将该页面绑定到不同的div,因为此函数可以迭代(或多次调用)这些div已经创建,然后结果映射到每个div

function getview(Name, Parameters, Target) {
     $.get('Home/Submit',
                    { Name: name,
                      Parameters: Parameters
                    },

       function(result) {

           $("#" + Target).html(result);
           //alert("something");

       });
}

此方法称为:

<div id="{{'_Temp' + Id}}">{{getAction('_AddToFavorite', 'ContentId,'
                                    + Id + ',Version,' + Version + ','li_ContentFavorites_Temp'
                                    + Id)}} </div>

现在发生的事情是html绑定到相应的div,但只有当'alert()'存在时 否则视图页面会随机绑定(有时它有时会不会) 但对于最后的迭代,确实如此。

**我认为**这是因为在数据实际绑定到相应的div之前,下一个数据(viewpage)就会出现。

有没有办法让进程停止(或延迟)以便正确绑定数据。

2 个答案:

答案 0 :(得分:0)

如果您使用.ajax,则可以使用更多选项 - 其中一个是超时

答案 1 :(得分:0)

我有多种方式解决了这个问题,但最简单的解决方案总是基于jquery ajaxqueue 插件。它只是“逐个”ajax:)

你可以坚持自己的方式,但这需要大量的调试 - 我认为你的问题与某些变量相关,而不是你认为的局部变量。如果您想在不排队的情况下加载 - 请发布更多详细信息或指向示例页面的链接