Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.09.2010, 21:33
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

Два вопроса по XMLHTTPRequest
Добрый день!
Обращаюсь к гуру JS пользующимися XMLHTTPRequest
Суть в следующем:
Написал JScript, обрабатывающий страницу сайта на стороне пользователя. А именно вытаскивающий из строки типа
<form method='post' class='inline' action='?a=search'><input type='hidden' name='k' value='31638' /><input type='submit'  class='cmd_all' value='ИСКАТЬ ДАЛЬШЕ' ></form>

параметры для POST-запроса.
Вот сам пост запрос:
xmlhttp.open('POST', '/main.php?a=search', false);
xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xmlhttp.send('k=' + code);

С помощью HTTPAnalyzer-а определяю, что если нажать на кнопочку отправки формы мышкой запрос проходит и далее следует ответ сервера 302 с RedirectURL по которому потом проходит дополнительный запрос GET и обновляется страница браузера!
Вопрос: как мне получить этот ответ чтобы потом отправить на сервер GET-запрос?

Случай два.
Предистория та же. Такой же код формы на странице.
НО! после анализа логов запроса в HTTPAnalyzer-е видно, что в этом запросе никакого редиректа не приходит и дополнительного запроса GET к серверу нет! Однако страница после отправки формы нажатием на кнопочку благополучно обновляется. На мою же отправку POST-запроса приходит ответ 504 - Gateway Timeout
Путем анализа лога моего запроса и запроса "штатного" выяснил только одно расхождение в отправке
у меня передается:
Content-Transfer-Encoding: binary
в "штатном" запросе такого нет, зато в ответе есть следующее:
Content-Encoding: gzip
и соответсвенно пириходит содержимое новой страницы, отображаемое в браузере.
Вопрос: что мне добавить в мой POST-запрос чтобы получить корректный ответ?

И бонусом - может кто то знает как можно отправить данные формы из Javascript более простым способом?
т.е. как бы "сэмулировать" нажатие кнопки или что то подобное.
С get-запросами то я естественно не мудрствуя лукаво делаю
window.location.href = "main.php?a=search&k=" + code;

и дело в шляпе, а вот как быть с POST-запросами?
По крайней мере я не смог найти решения проще чем пытаюсь реализовать.

Надеюсь на вашу помощь.
Ответить с цитированием
  #2 (permalink)  
Старый 22.09.2010, 06:27
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

уже накопал своими силами, что нужно добавить обработчик ответа сервера, но вот как именно и что там обрабатывать - чтобы заставить браузер "распарсить" новую страницу, пришедшую в ответе?

Гуру, где вы?
Ответить с цитированием
  #3 (permalink)  
Старый 22.09.2010, 07:29
Аватар для Gvozd
Матрос
Отправить личное сообщение для Gvozd Посмотреть профиль Найти все сообщения от Gvozd
 
Регистрация: 04.04.2008
Сообщений: 6,246

http://xmlhttprequest.ru/
http://javascript.ru/ajax/
Ответить с цитированием
  #4 (permalink)  
Старый 22.09.2010, 10:49
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

первый сайт весь перечитал несколько раз
Единственное что оттуда вынес полезного - это как создать xmlhttprequest.
Да еще описаны своиства и методы.
А как с ними работать - примеров вообще нет.
Только по open да send.
Порылся в нете - такое ощущение - что на других сайтах просто скопипастено содержимое http://xmlhttprequest.ru/
А хотелось бы побольше примеров

По второй ссылке:
там еще меньше информации в примерах, и самое главное, цитирую:
Цитата:
Более подробно о свойствах и применении XMLHTTPRequest - на http://xmlhttprequest.ru
Где есть более развернутые примеры?
Хотелось бы побольше
Ответить с цитированием
  #5 (permalink)  
Старый 22.09.2010, 10:54
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Pluto,
страницы неработающие приведите, мы не умеем по облакам гадать.
Ответить с цитированием
  #6 (permalink)  
Старый 22.09.2010, 15:25
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

Страницы работают прекрасно.
Не работает мой скрипт на стороне клиента.
А точнее, я не знаю, с какой стороны подступиться к ответам сервера, поскольку серверную часть писал не я и она ничего не знает о моем скрипте
Мне просто хотелось чтобы привели реальные примеры работы со своиствами и мметодами XMLHTTPRequest
а не то что есть на http://xmlhttprequest.ru и клонированных с него ресурсах.
И если с первым вопросом я разобрался самостоятельно, то вот что делать со вторым вопросом, в котором в ответ на POST запрос приходит в ответ за-gzip-леная новая страничка я ума не приложу. Как заставить браузер ее обработать?

В принципе я решил свою задачу другим способом, но в идеале хотелось бы до конца разобраться со случаем xmlhttprequest
Ответить с цитированием
  #7 (permalink)  
Старый 22.09.2010, 15:29
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Какие примеры вам нужны? Делаете запрос, получаете ответ. Всё. Дальше делаете с этим ответом, что вам угодно, XHR это не касается.
Ответить с цитированием
  #8 (permalink)  
Старый 22.09.2010, 22:43
Интересующийся
Отправить личное сообщение для Pluto Посмотреть профиль Найти все сообщения от Pluto
 
Регистрация: 03.09.2009
Сообщений: 16

Сообщение от Kolyaj Посмотреть сообщение
Дальше делаете с этим ответом, что вам угодно
Значит я неправильно задал вопрос.
Вот именно примеры этого "что угодно" мне и нужны.
потому что я не знаю что и как сделать с ответом
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с дизайном после отправки xmlhttprequest, Проблема с дизайном после отправки cyberx AJAX и COMET 3 01.05.2010 17:07
Блок переключения меню на JS, два скрипта в одном файле Dizeloid Элементы интерфейса 0 30.07.2009 12:03
Два одинаковых сценария на одной странице Genetics Общие вопросы Javascript 7 12.07.2009 01:46
Создание и уничтожение XMLHttpRequest Vlas AJAX и COMET 9 22.05.2009 12:38
Два очень важных вопроса Гость Internet Explorer 3 26.07.2008 20:45