Jump to content
  • 0

Ajax


Дядя Саша
 Share

Question

Хотел спросить, что происходит во время синхронного запроса?

Конкретно что происходит со скриптами, их выполнение останавливается полностью, или только частично?

То есть к примеру в некоторой ф-ии отсылается синхронный запрос, но в это время ещё выполняется множество других ф-ий, они все будут заблокированы или только та в которой выполняется запрос?

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Да, спасибо, это я уже читал, так вот браузер не подвисает. У себя так же пробовал, в скрипте на сервере выставлял слип в секунд 10, подвисала только в-ия, которая отправляла запросы, весь остальной код на странице работал.

var resp;
for (var i = 0; i < 15; i++) {
resp = $.Ajax.send(false, "param=ping", function() {alert("Ok!")});
}

Поэтому я не особо представляю что происходит.

Мне кажется что блокируется только данный цикл, пока не вернется ответ, что то вроде:

var resp;
for (var i = 0; i < 15; i++) {
resp = (a+b) / c;
}

То есть вычисляется выражение и цикл продолжается.

А если к примеру сделать так:

function sendIt(req) {
return $.Ajax.send(false, req);
}

function test() {
var resp = sendIt("params=ping");
}

то ожидать будет и ф-ия test?

Вот я и пытаюсь выяснить, отсюда идут мысли что скрипт не работает во время синхронного запроса?

Link to comment
Share on other sites

  • 0

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

Хотя это не факт - думаю, это зависит от версии браузера - например, 7 Осел у меня ничего не мог сделать пока синхронный запрос не завершится, а, к примеру, Лисица продолжала работать - но это чисто мой опыт - неподтвержденный. Возможно это зависит от того, что браузеры эти используют разный объект XMLHTTP(типа - у Майкрософта свой XMLHTTP, а у Лисицы - свой).

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

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy