<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Javascript_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81</id>
	<title>Javascript синхронный и асинхронный запрос - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://support.qbpro.ru/index.php?action=history&amp;feed=atom&amp;title=Javascript_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81"/>
	<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Javascript_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81&amp;action=history"/>
	<updated>2026-04-04T00:59:14Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.38.1</generator>
	<entry>
		<id>https://support.qbpro.ru/index.php?title=Javascript_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81&amp;diff=228&amp;oldid=prev</id>
		<title>imported&gt;Supportadmin: Новая страница: « Синхронный запрос: работа со станицей не возможна до завершения запроса AJAX, при этом   за…»</title>
		<link rel="alternate" type="text/html" href="https://support.qbpro.ru/index.php?title=Javascript_%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B8_%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D1%8B%D0%B9_%D0%B7%D0%B0%D0%BF%D1%80%D0%BE%D1%81&amp;diff=228&amp;oldid=prev"/>
		<updated>2013-08-04T10:03:13Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « Синхронный запрос: работа со станицей не возможна до завершения запроса AJAX, при этом   за…»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt; Синхронный запрос: работа со станицей не возможна до завершения запроса AJAX, при этом &lt;br /&gt;
 запрос, получение ответа и его обработка производится в одной функции JavaScript&lt;br /&gt;
 &lt;br /&gt;
 Асинхронный запрос: делайте что хотите во время запроса, но когда придет ответ на AJAX запрос &lt;br /&gt;
 JavaScript должен его обработать использую CallBack функцию&lt;br /&gt;
-----&lt;br /&gt;
Синхронный запрос - это запрос с ожиданием ответа. Т.е. скрипт создал объект, а объект послал запрос на сервер, это сразу, мгновенно &lt;br /&gt;
не происходит. И пока этот запрос обрабатывается на сервере скрипт &amp;quot;висит&amp;quot;, скрипт просто &amp;quot;висит&amp;quot;, он ждет ответ с сервера. Дальше скрипт не выполняется, браузер ничего не делает, он ждет ответ с сервера. Если сервер работает долго или связь с сервером медленная, то это &amp;quot;зависание&amp;quot; может быть даже заметно на глаз. И только тогда, когда сервер все наконец-то пришлет, только тогда скрипт пойдет выполняться дальше. Т.е. скрипт в момент обмена данными с сервером он &amp;quot;висит&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Пример выполнения синхронного запроса:&lt;br /&gt;
Код Javascript(jQuery)&lt;br /&gt;
    var request = getXmlHttpRequest(); // создание объекта XmlHttpRequest&lt;br /&gt;
    request.open('GET', url, false); // готовим сам запрос&lt;br /&gt;
    request.open(метод запроса, url запроса, состояние запроса);&lt;br /&gt;
        метод запроса может быть GET или POST - это просто строка&lt;br /&gt;
        url запроса - т.е. по какому адресу произвести запрос&lt;br /&gt;
        состояние запроса - если запрос синхронный, то он в состоянии false, если асинхронный, то он в состоянии true&lt;br /&gt;
    request.send(null); // посылаем запрос методом send. Т.к. при отправке запроса методом GET содержимого нет, то в этом&lt;br /&gt;
                        // методе мы указываем null. Если отправлять запрос на сервер методом POST, то в send &lt;br /&gt;
                        // мы будем указывать то, что надо отправить.&lt;br /&gt;
&lt;br /&gt;
Асинхронный запрос - это запрос без ожидания ответа от сервера. Т.е. скрипт создал объект, а объект послал запрос на сервер. При этом скрипт продолжает выполняться дальше и не ждет ответа от сервера. В какой-то момент данные вернуться. И тут вступает в действие событие onreadystatechenge. Сам объект меняет это событие, когда у него меняется свойство readyState. Для события создается собственная функция, в которой проверяется свойство readyState. И как только оно становится равным &amp;quot;4&amp;quot; - это значит, что данные с сервера пришли. Теперь можно полученные данные обрабатывать. При асинхронном запросе скрипт посылает данные на сервер и паралельно с этим объект возбуждает свойство onreadystatechenge и выполняет проверку свойства readyState.&lt;br /&gt;
&lt;br /&gt;
Пример выполнения асинхронного запроса:&lt;br /&gt;
Код Javascript(jQuery)&lt;br /&gt;
    var request = getXmlHttpRequest(); // создание объекта XmlHttpRequest&lt;br /&gt;
    request.onreadystatechenge = function(){ // установка обработчика&lt;br /&gt;
        if(request.readyState == 4)&lt;br /&gt;
        ...&lt;br /&gt;
    }&lt;br /&gt;
    request.open('GET', url, true); // готовим сам запрос&lt;br /&gt;
    request.send(null); // посылаем запрос методом send&lt;br /&gt;
&lt;br /&gt;
Асинхронный запрос сложнее синхронного запроса в том, что надо сначала подготовить сам запрос, а потом ловить момент, когда данные придут с сервера. Но при этом асинхронный запрос намного удобнее для пользователя и не тормозят работу браузера.&lt;/div&gt;</summary>
		<author><name>imported&gt;Supportadmin</name></author>
	</entry>
</feed>