GWT: Как отправлять POST междоменные запросы с помощью JSON - PullRequest
0 голосов
/ 30 августа 2010

Как предполагают Javadoc, JsonpRequestBuilder может отправлять только запросы GET.Мне нужно отправить POST-запросы, используя тот же метод (для междоменных запросов, используя JSON).Кто-нибудь знает какое-нибудь рабочее решение?Я не смог найти отправную точку в Интернете.

заранее спасибо

Ответы [ 3 ]

4 голосов
/ 30 августа 2010

Библиотека API Google для GWT решает эту проблему (для отправки междоменных вызовов GWT-RPC) с помощью gadgets.rpc проекта Shindig проекта. отправить кросс-фреймовое сообщение на iframe на странице, указывающей на страницу на сервере, с которым вы пытаетесь установить связь. Это iframe тот, кто делает запрос, и когда он получает ответ, он отправляет еще одно кросс-фреймовое сообщение обратно.

Это завернуто в GadgetsRequestBuilder.

Было бы довольно просто расширить эту функциональность, чтобы выполнять регулярные запросы XHR (с методом POST) вместо запросов GWT-RPC.

1 голос
/ 30 августа 2010

Вы не можете использовать JSONP для выполнения POST - все, что он делает, это вставляет тег <script src="...">, и браузер запускает запрос GET.

Возможно, вы ищете CORS , но это поддерживается только FF 3.5, IE 8 и Safari 4 и новее. И сервер тоже должен это поддерживать.

В противном случае вам потребуется прокси с вашего сервера на другой домен.

0 голосов
/ 15 апреля 2011

У меня тоже была эта проблема, и мне пришлось реализовать какую-то дурацкую схему, чтобы заставить ее работать.К счастью, я управляю как сервером, так и клиентом.

Вызов POST определяет параметр url с именем 'src', который содержит некоторую случайную строку.Когда я POST на сервер, данные отправляются на сервер, но я не могу получить ответ.

Что происходит за кулисами, сервер кэширует ответ POST с этим ключом 'src' вслабый кеш.

Затем я выполняю вызов get JSONP сразу после завершения POST с тем же ключом 'src' и получает результат.

Это не красиво, но работает.

...