Скачать файл и отображать содержимое с помощью JavaScript - PullRequest
2 голосов
/ 04 февраля 2010

У меня есть простая веб-страница, на которой есть ссылка, по нажатию на нее загружается файл (вызов остальной веб-службы). Мне нужно прочитать файл и отобразить содержимое с помощью JavaScript. Как мне это сделать?

Ответы [ 3 ]

2 голосов
/ 04 февраля 2010

Использование jquery

$.getJSON(myResourceFileURL,
 function parseResults(json){
    //json is the contents of the file
 }
);
2 голосов
/ 04 февраля 2010

Если у вас есть доступ к серверу, на котором размещена веб-служба REST, вы можете использовать JSONP .

В противном случае вам придется работать с того же источникаполитика ограничения.

В качестве одного из возможных обходных путей вы можете установить очень простой обратный прокси mod_proxy , если вы используете Apache ).Это позволит вам использовать относительные пути в вашем AJAX-запросе, в то время как HTTP-сервер будет действовать как прокси для любого «удаленного» местоположения.

Основной директивой конфигурации для настройки обратного прокси в mod_proxy является ProxyPass.Обычно вы используете его следующим образом:

ProxyPass     /web-services/     http://third-party.com/web-services/

В этом случае браузер будет запрашивать /web-services/service.json, но сервер будет обслуживать это, выступая в качестве прокси для http://third-party.com/web-services/service.json.

Если вы используете IIS , вы можете использовать Managed Fusion URL Rewriter и обратный прокси для настройки обратного прокси.


РЕДАКТИРОВАТЬ:

В дополнение к комментарию ниже, поскольку веб-служба находится в том же домене, нет необходимости беспокоиться о той же политике происхождения.Просто используйте XMLHttpRequest .Вы можете начать с проверки статьи на ajaxpatterns.org:

0 голосов
/ 04 февраля 2010

Поскольку вы используете JQuery:

http://api.jquery.com/jQuery.getJSON/

Ваш текстовый файл будет передан функции «успех», которую вы настроили. Ваша функция успеха может записать содержимое на страницу, используя document.write или аналогичный.

...