отложить выполнение оператора до тех пор, пока не будет выполнено связывание preveouus (jquery, ajax) - PullRequest
0 голосов
/ 27 января 2010

На моей странице я вызываю контроллер, используя $ .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 голосов
/ 27 января 2010

Я решил эту проблему более чем одним способом, но самое простое решение всегда основано на плагине jquery ajaxqueue . Это просто делает ajax "один за другим":)

Вы могли бы остаться на своем пути, но это потребовало бы много отладки - я думаю, что ваша проблема связана с тем, что некоторые переменные менее локальны, чем вы думаете. Если вы хотите загрузить без очереди - пожалуйста, опишите подробности или ссылку на пример страницы

0 голосов
/ 27 января 2010

если вы используете .ajax, вы можете использовать больше опций - один из них - timeout

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...