Я пытаюсь подключить сценарий к приложению Microsoft World-Wide Telescope. Последнее прослушивает порт 5050 для команд. Он работает на том же компьютере, что и браузер (сейчас Chrome, но, насколько я могу судить, поведение такое же, как в Firefox 7 и IE 9).
Я отправляю "Access-Control-Allow-Origin : * "заголовок с исходным файлом html, чтобы попытаться устранить ограничения XSS как мою проблему.
Мой код для доступа к WWT выглядит следующим образом:
$.ajax({
type: 'POST',
url: url,
data: data,
crossDomain: true,
success: success,
dataType: dataType
});
url в данном случае:" http://127.0.0.1:5050/ layerApi.aspx? cmd = new & ... "(очевидно ... здесь сокращение для некоторых дополнительных параметров).
Глядя на диагностику сети в Chrome, я вижу следующее:
Request URL:http://127.0.0.1:5050/layerApi.aspx?cmd=new&...
Request Headersview source
Accept:application/xml, text/xml, */*; q=0.01
Content-Type:application/x-www-form-urlencoded
Origin:http://gwheeler4
Referer:http://gwheeler4/conceptconnect.html
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.186 Safari/535.1
Запрос выходит - Я вижу, что WWT создает новый слой. Однако я не получаю обратного вызова. Если я добавляю обратный вызов ошибки, который вызывается, но свойство error в объекте jqXHR просто "error", а статус равен 0. Если я посмотрю на сетевой запрос в Chrome I см. «(отменено)» как статус и отсутствие ответа.
Если я возьму тот же URL и вставлю его в новую вкладку браузера, я увижу, что ответ - это ожидаемый XML.
Конечно, разница здесь в том, что это GET, а не POST, но я пробовал это в своем скрипте, и это не имеет значения.
Я озадачен этим и буду благодарен за любые свежие идеи.