Разве AJAX не блокирует звонки и какова их продолжительность жизни? - PullRequest
6 голосов
/ 01 февраля 2011

Мне неприятно задавать эти фундаментальные вопросы, учитывая, что я не совсем новичок в веб-разработке.Но я все же хочу перепроверить свои предположения ...

Я строю запись уникальных изображений в моем приложении.Когда пользователь (не бот) посещает страницу изображения, Ajax-вызов выполняется внутренним процессом, который собирает информацию о сеансе, сравнивает дубликаты и сохраняет посещение.У меня есть все ссылки на javascript, а также этот вызов внизу HTML, перед элементом </body>:

$.get(basepath + "image/1329/record/human", function(data){
console.log("Data Loaded: " + data);
});

По умолчанию вызов $ .get сделан асинхронным.Тем не менее, я хочу проверить следующие предположения:

  • Правильно ли, что этот метод гарантирует, что вызов сценария записи представления не блокируется для остального пользовательского интерфейса?Правильно ли, что внутренний скрипт будет завершен после вызова независимо от того, перейдет ли пользователь на другую страницу?

Ответы [ 3 ]

5 голосов
/ 01 февраля 2011

Согласно jQuery .get ссылка ...

Это [$ .get ()] является сокращенной Ajax-функцией, которая эквивалентнав :

$.ajax({ url: url,   data: data,  
         success: success,   dataType: dataType
});

А $ .ajax по умолчанию асинхронный (т.е. неблокирующий), вот что означает A в Ajax.

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

4 голосов
/ 01 февраля 2011

Ваш запрос jQuery.get является асинхронным и не блокирует продолжение работы DOM или другого JavaScript.Функция get - это сокращенный метод, использующий jQuery.ajax.

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

API:

2 голосов
/ 01 февраля 2011

, что верно по обоим пунктам

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