Я собираюсь сделать междоменный вызов с помощью jQuery и передать параметры через строку запроса, чтобы заставить сервер выполнить какое-либо действие (например, отправить электронное письмо, создать задание на печать, запустить кофеварку). Моя проблема в том, что сервер не поддерживает ответы JSONP *, и я не могу изменить его в мои сроки.
Предположим, что моя страница размещена в http://foo.com/test.htm
, ак веб-сервису делается междоменный вызов по номеру http://bar.com/service.svc`. URL для запуска задания электронной почты выглядит следующим образом (это совершенно вымышлено):
var mailerUrl = "http://bar.com/service.svc?job=email&to=fred&type=outage";
После обдумыванияоб этом, мне интересно, действительно ли имеет значение, что сервер не поддерживает ответы JSONP, поскольку запроса GET к mailerUrl
достаточно, чтобы начать работу.
Код jQueryбудь это (я думаю):
$.getJSON(mailerUrl + "&callback=?", function (json) { });
Сервер ответит этим JSON:
{ "d": { "EmailJob": true } }
Обратите внимание, что ответ не обернут в функцию обратного вызова.
Код jQuery завершается сбоем после получения ответа, поскольку он не в формате JSONP.
Однако, что мне интересно, будет ли это успешным междоменный домен во всех основных современных браузерах (IE9, Chrome, Firefox4 + и Safari4 +)?