2014-10-28 2 views
-1

Вот мой JSXMLHttpRequest не работает асинхронно

 var req = new XMLHttpRequest(); 
     req.open('POST','/some-location',true); 
     req.send("A string to be processed server-side"); 

     var resp = req.responseText; 

Беда в том, что просто не работает. Всякий раз, когда я использую console.log(resp), чтобы увидеть ответ, это пустая строка.

Но при изменении второй строки на req.open('POST','/some-location',false);, resp - обработанный результат. Тем не менее, я не хочу устанавливать асинхронный режим на false.

Есть ли способ Javascript, чтобы увидеть, что я делаю неправильно?

+4

он фактически работает асинхронно, поэтому попробуйте распечатать результат сразу же после этого не получится. Вы должны использовать обратный вызов. здесь https://developer.mozilla.org/en-US/docs/Web/Events/readystatechange –

+1

простой пример об этом здесь http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp –

ответ

0

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

http://www.w3schools.com/ajax/default.asp.

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