Задать вопрос

POST HTTP request на JavaScript?

Какие есть способы выполнения HTTP POST запроса на JS?

Я хочу написать плагин для firefox, который отображал бы баланс на счету моего интернет-провайдера. По идее решается все простым post запросом. Почитал про xmlhttprequest и невозможность кроссдоменных запросов. Неужели все браузерные расширения (например, Яндекс.бар) используют такого рода хаки? Или все дело в том, что у разработчиков таких плагинов есть доступ к серверной стороне и возможность управлять ответом сервера?
  • Вопрос задан
  • 7882 просмотра
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 8
resurtm
@resurtm
Можно создать невидимую форму, установить нужные атрибуты формы и сабмитнуть ее.

Конкретная реализация в Yii Framework: code.google.com/p/yii/source/browse/trunk/framework/web/js/source/jquery.yii.js (функция submitForm).
Ответ написан
NikoB
@NikoB
1. Jquery + Cross domain mod for jQuery (но так только get запросы можно отправлять)





2. Использование flash-контейнера как посредника
3. Использование невидимого iframe как посредника
4. Использование своего сервера как посредника
Ответ написан
resurtm
@resurtm
И кстати, нужно еще посмотреть, защищено ли POST действие по получению данных от CSRF на целевом сервере. Если так, то ничего не получится.
Ответ написан
Комментировать
ArtemSmirnov
@ArtemSmirnov
У плагинов больше полномочий и строго говоря плагины могут быть даже не на js
Ответ написан
Homakov
@Homakov
можно, создай компонент xhr, повесь onload=function и в бой. смирнов прав, полномочий достаточно для cross dom req
Ответ написан
Комментировать
Dennion
@Dennion
Разработчик PHPShop CMS.
Да сам натыкался на этот бок недавно. Решил проблему так
1. подцепляем внешний js через тег script, в нем вызывается XML POST запрос на php файл на том же удаленном сервере data.js.php

2. data.js.php выводит сразу js код результата действия
var result=......;
и выполняется JS функция управления этими данными локально, тк они уже локальные получаются.

Так реализовал вывод витрины товаров с удаленного сервера без лишних библиотечек в модуле партнерки. То что получилось можно глянуть (блок Партнерка).
Ответ написан
Комментировать
KAdot
@KAdot
Все гораздо проще чем кажется. Из Firefox расширения XHR разрешены кроссдоменные запросы.
Ответ написан
Комментировать
Dennion
@Dennion
Разработчик PHPShop CMS.
Можно сделать Windows Gadget (если стоит Windows), очень наглядно будет на рабочем столе показывать данные и права там огромные даются на выполнения и справочников куча по языку (JScript).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы