AJAX-запрос на работу системы задерживает остальную часть вызовов AJAX - PullRequest
0 голосов
/ 01 февраля 2012

У меня есть куча запросов AJAX, первый -

$.post("go.php", { url: pastedURL, key: offskey, mo: 'inward', id: exID});

Этот запрос в go.php включает системную команду, которая, несмотря на nohup и & в конце, не прекращает вращаться в Firebug - в ожидании ответа.

К сожалению, следующий AJAX-запрос

$.post("requestor.php", { request: 'getProgress', key: offskey}, function(data) { console.log(data.response); }, "json");

Не запускается, вращается в firebug (думаю, пока go.php не закончил) - в конечном итоге он перегружает все (это происходит по таймеру, проверяющему каждые несколько секунд).

Таким образом, я предполагаю, что вопрос в том, существует ли метод AJAX, который просто выбрасывает данные и уходит, вместо ожидания ответа ... или, так или иначе, я могу выполнить другой запрос, в то время как другой ожидает.

Надеюсь, кто-то знает, что я имею в виду.

Ответы [ 3 ]

1 голос
/ 01 февраля 2012

Оказывается, что PHP-запрос на другом конце может понадобиться для продолжения ожидания: -

"> /dev/null 2>/dev/null &"

источник

1 голос
/ 01 февраля 2012

Проверьте для async: false, как параметр для $.ajax() метода в jQuery.

Вам нужно установить async: true.

0 голосов
/ 01 февраля 2012

Существует ограниченное количество подключений, используемых браузером.Число зависит от браузера, но для более старых, таких как IE7, это может быть всего 2 соединения на сервер.Заполнив их ожидающими запросами, вы должны дождаться их завершения, прежде чем сможете делать какие-либо дополнительные запросы к этому серверу.

(это проверка по таймеру каждые несколько секунд)

Похоже, вы делаете дополнительные запросы requestor.php, используя setTimeout или setInterval до того, как предыдущие закончились?Если так, не делай этого.Используйте полный $ .ajax (возможно, с тайм-аутом) и только в обратном вызове success / error сделайте еще один запрос.

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