Как сформулировать запрос JSONP - PullRequest
0 голосов
/ 03 сентября 2011

Я нахожусь в процессе изучения GWT, в настоящее время я сталкиваюсь с проблемой при вызове RPC на конкретный сервер с использованием JSONP.

Сервер, с которым я хочу установить связь, предлагает службу JSON-RPC, для которой запрос должен иметь заголовок {'Content-Type': 'application/json'} и тело обычных данных JSON, например: {"params": ["HelloServer"], "method": "server.greeting", "id": 10}.

Интересно, можно ли сделать запрос JSONP на этот сервер, потому что я предполагаю, что JSONP - это обход только обхода ограничения SameOriginPolicy для GWT.


edit : как объяснил Darin Dimitrov , я думаю, что мне нужно придерживаться JSON, поскольку сервер не предоставляет сервис JSONP. Предложенный обходной путь SOP идеален, также предлагается здесь .

1 Ответ

1 голос
/ 03 сентября 2011

Интересно, можно ли сделать запрос JSONP на этот сервер

Нет, если сервер его не поддерживает.Вот как нужно изменить ответ сервера для поддержки JSONP:

someCallback({"params": ["HelloServer"], "method": "server.greeting", "id": 10})

, где someCallback - это имя функции, которое может быть указано клиентом.Если у вас нет контроля над сервером и он не поддерживает JSONP, ваш единственный шанс - написать на своем сервере сценарий на стороне сервера, который будет служить мостом.Затем вы отправите запрос AJAX этому сценарию, который делегирует его удаленному домену.

...