Загрузить страницу в строку после сабмита.
Подскажите новичку можно ли после сабмита формы скачать ответ сервера в строку для последующего парсинга?
Использую скрипт для создания формы и аутентификации: var form = document.createElement("form"); form.setAttribute("name", 'loginForm'); form.setAttribute("method", 'POST'); ... var hiddenField = document.createElement("input"); hiddenField.setAttribute("type", "hidden"); hiddenField.setAttribute("name", 'login'); ... form.appendChild(hiddenField); ... document.body.appendChild(form); form.submit(); ЗЫ: Пробовал работать XMLHttpRequest() но столкнулся с непобедимой ошибкой: "отсутствует заголовок CORS «Access-Control-Allow-Origin" |
Запрос кроссдоменный?
|
да
|
Тогда на сервере к которому делается запрос нужно завести заголовки корс.
|
В том то и дело, что доступа к серверу не имею.
|
aldabadman,
Согласно политики ограничение домена, просто так яваскриптом сделать запрос на другой домен не выйдет. Как вариант, используй htmldomparser на пхп. |
Жаль, но нужно на клиенте.
Может как-то можно перехватить ответ сервера после сабмита и пустить его в поток как-то на JS? Извините за тупые вопросы :write: |
aldabadman,
Попробуйте просто отправлять формой и возвращать ответ во фрейм на странице Типа: Прописываете просто HTML для формы (Хотя можно прописать и скриптом... Цитата:
:) Ответ должен появится во фрейме(если Сайт получателя рефер отправки не тестирует) (типично пустой фрейм скрывают display:none, и открывают cкриптом через секунду после сабмита |
Deff,
Так для фрейма то же будут работать правила ограничения домена. Посмотреть, посмотрим, но ничего оттуда не выудим. Возможно у сайта есть заголовки которые вообще запрещают вставку контента во фрейме на сторонних ресурсах, тогда даже и не посмотрим. |
Rasy,
Почему - скопировать и увидеть на странице можно, можно и вставить в инпуты или чо там, если есть..., ну и скопировать в буфер. Мну к примеру втыкал через фрейм форму загрузки изображений на savepic, пока он говном не стал Можно извернуться с проксированием, к примеру через линейный анонимайзер, чоб получить контент скриптом 2. Мож челу нун, к примеру ток войти в аккаунт(судя по форме), а по загрузке фрейма мон его либо всю страницу развернуть, либо перейти на сайт... Хотя возможно очередной перехватчик акков в ВК, опять жа судя по форме |
Deff,
Интересно, нужно потестить. |
Цитата:
... form.submit(); setTimeout(function() { var a = document.getElementById("Out"); var frc = a.contentDocument; console.log( frc ); }, 2000); Мне просто нужно мониторить остаток на счету денег у провайдера, т.к. он не парится по поводу предупреждения клиента о том что деньги на счету заканчиваются. |
aldabadman,
Может он api предоставляет и не надо плясать с бубном. |
aldabadman,
Ну тут либо, как заметил Rasy, Либо спросить про API у провайдера, Либо использовать серверное проксирование, т.е Вы отправляете форму на свой сервер, через Аякс запрос ссылкой с текущего домена, сервер переадресует на нужный Адрес, получает ответ и перенаправляет опять к вам...) Остальные Варианты будут обломаны при малейших изменениях |
Жаль, но API нет. Как вариант, еще можно написать свой клиент :)
Кстати, небольшой хак: Вариант с XMLHttpRequest() прекрасно работает из "Простой редактор JavaScript" в лисе. |
Часовой пояс GMT +3, время: 01:14. |