Я пытаюсь подключить сценарий к приложению 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, я вижу "(отменен)" в качестве статуса и никакого ответа .
Если я возьму тот же URL и вставлю его в новую вкладку браузера, я увижу, что ответ является ожидаемым XML.
Конечно, разница здесь в том, что это GET, а не POST, но я пробовал это в своем скрипте, и это не имеет значения.
Я очень озадачен этим и буду благодарен за любые свежие идеи.
error
обратный вызов, чтобы увидеть, возвращается ли он с ошибкой?