2013-07-24 5 views
0

Очевидно, чтобы поговорить с сервером, вы должны сначала отправить запрос на сервер, а затем получить ответ. Однако в этом коде появляется, что вы сначала получаете ответ, а затем в следующей строке посылаете запрос - что здесь происходит?Порядок выполнения команды в JavaScript

xmlhttp.onreadystatechange=function() 
     { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) 
     { 
     document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
     } 
    xmlhttp.open("GET","gethint.php?q="+str,true); 
    xmlhttp.send(); 
+0

http://www.w3schools.com/php/php_ajax_php.asp – Daniyal

ответ

1

onreadystatechange это всего лишь слушатель, который запускается, когда запрос разрешается.

Представьте, что ваш друг помогает вам собирать почту в почтовом отделении. Вы скажите ему:

«Всякий раз, когда работник дает вам пакет, проверьте правильность имени на упаковке, затем откройте его, соберите содержимое и верните его мне в свой дом. Почта!"

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

+0

Это замечательно! – Daniyal

5

Он не получает ответ первого, он просто устанавливает, что делать когда ответ получен (который никогда немедленно, так как это асинхронная операция). Здесь порядок не имеет значения.

Смежные вопросы