Сделайте междоменный запрос на XML из локального файла - PullRequest
2 голосов
/ 12 января 2012

Я не уверен, возможно ли это вообще.По сути, я хочу загрузить локальный HTML-файл на клиентский ПК и сделать его запрос на удаленный сервер.Данные, обслуживаемые сервером, являются XML.

Когда я говорю, что я загружаю файл, я имею в виду, что URL в chrome выглядит как "file: /// E: / ..."

Это самый близкий к мнебыть в состоянии загрузить XML.Я проверил вкладку сети на стороне клиента и успешно загрузил ее, я просто не могу вставить XML в элемент, который я могу проверить:

 var script = document.createElement('script');

 script.setAttribute('src', 'http://xxx.xx.xx.xxx:xxxx/myxmldata');

 script.setAttribute('type', 'text/xml');

 script.setAttribute('id', 'myxml');

 document.getElementsByTagName('head')[0].appendChild(script); 

 var content = document.getElementById("myxml").responseText;// anything I can do here?

 console.log(content);

Подойдет и решение AJAX.Мне не повезло с JSONP (хотя это не JSON).

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Что ж, если у вас возникли проблемы с междоменной политикой, вам может понадобиться создать какой-нибудь прокси, который будет выполнять запрос за вас.(Это довольно просто сделать)

Если вы хотите открыть файл JavaScript для выполнения запроса Ajax, я бы использовал Dojo для разбора XML.

У вас есть хороший пример здесь: http://dojotoolkit.org/reference-guide/dojo/xhrGet.html

Надеюсь, это поможет.

1 голос
/ 12 января 2012

Независимо от типа полезной нагрузки JSON или XML, то, что вы делаете, - это JSONP, и в результате вы получите вызов функции javascript. Таким образом, ответом должен быть действительный вызов функции javascript с данными XML в качестве входных данных для этой функции.

...