Показать сообщение отдельно
Старый 08.12.2012, 15:51   #2
chk
Неактивный пользователь
 
Пол:Мужской
Регистрация: 08.12.2012
Сообщений: 20
Репутация: 0
По умолчанию Re: Получить результат выполнения скрипта на сервере в переменну. ява

Цитата:
Сообщение от gyper Посмотреть сообщение
1) что не знаю как результат работы скрипта загнать не в блок на странице а в переменную явы.

почему бы вместо этого
document.getElementById(resultId).innerHTML = httpRequest.responseText;
не написать что то вроде этого
serverResponse = httpRequest.responseText;
разумеется при условии что где то в глобальной области видимости будет var serverResponse;

а по поводу этого
Цитата:
Сообщение от gyper Посмотреть сообщение
2) что скрипт на сервере работает примерно 3 секунды. Но ява сценарий на странице не ждет пока отработает скрипт на сервере, а после вызова его через аякс, идет дальше.
Как сделать так чтобы ява сценарий ждал окончания работы скрипта на сервере ? т.к. его дальнейшая работа должна зависеть от того, что вернул скрипт ОК или ERROR

фишка аякса именно в асинхронности, вообще то существуют способы сделать запрос синхронным, но тогда браузер будет подвешен как раз на эти 3 секунды, которые в этом случае будут ужасно резать глаз, для корректной обработки асинхронного запроса вам просто нужно на время выполнения этого запроса заблокировать все элементы которые могут влиять на запуск запроса, например в вашем случае первой же строкой в методе sendSearchRequest() дописать такой код
document.getElementById("searchQuery").disabled = "disabled";
ну и соответственно в месте обработки удачного ответа от сервера if (httpRequest.readyState == 4) дописать
document.getElementById("searchQuery").disabled = "";
chk вне форума
 
Ответить с цитированием Вверх
 
Время генерации страницы 0.02178 секунды с 10 запросами