JQuery два AJAX вызова asynchrounsly в asp.net не работает - PullRequest
1 голос
/ 07 мая 2010

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

для примера.У меня есть 3 страницы

  1. main.aspx - для выполнения двух запросов AJAX.

  2. totalCount.aspx - чтобы найти общее количество.(максимум для возврата требуется 7 секунд, поскольку соответствующая таблица содержит 300 тыс. записей)

  3. rowCount.aspx - чтобы найти подробности строки.(максимум 5 секунд, чтобы вернуть результат).

из-за этой сцены я планировал сделать асинхронный вызов в jquery ajax в asp.net.Вот мой код:

function getResult() {
           getTotalCount();
           getRows();
}

// it takes max 7 seconds to complete
// as it take 7 seconds it should display second.( I mean after the rows dispaying)
// but displaying both at the same time after the max time consuming ajax call completed.
function getTotalCount() {
     $.ajax({
               type : "POST",
               async : true,
               url : "totalCount.aspx?data1=" + document.getElementById("data").value,
               success : function(responseText) {                    
                 $("#totalCount").attr("value", responseText);
               }
            })                     
}

// it takes max 5 seconds to complete.
// after finished, this should display first.( i mean before total count displays)
// but displaying both at the same time after the max time consuming ajax call completed.
function getRows() {     
                $.ajax({
                  type : "POST",
                  url : "getrows.aspx?data1=" + document.getElementById("data").value,
                  async : true,
                  success : function(responseText) {                                          
                     $("#getRows").attr("value", responseText);            
                  }
               });           
}

Я хотел бы знать, есть ли возможность сделать асинхронный вызов в jquery ajax в asp.net.Я искал в сети, я получил несколько очков, которые говорят, что мы не можем сделать это в asp.net

ссылка: http://www.mail-archive.com/jquery-en@googlegroups.com/msg55125.html

если мы можем сделать это в asp.net Как это сделать?

Ответы [ 2 ]

0 голосов
/ 18 февраля 2011

Состояние сеанса .NET приведет к тому, что все запросы для определенного сеанса будут поставлены в очередь.

Если состояние сеанса не требуется, вы можете отключить его .

0 голосов
/ 07 мая 2010

Я не разработчик asp.net, но в общих чертах ajax я могу объяснить эту проблему, как указано ниже

Поскольку ajax стоит, он асинхронный, поэтому ожидать, что два запроса в каком-то конкретном oder не будут разумными.

Временами, указанными сервером, будет время, необходимое серверу БД для выполнения некоторых запросов, но есть и другие, такие как сетевой трафик и т. Д., Поэтому вы предполагаете, что 1 запрос вернется раньше, чем другой, будет неверным.

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