как отобразить содержимое вместо загрузки в виде файла при запуске GET Request? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть веб-страница, которая будет отображать ответ API в табличном формате.Я разработал это с использованием Angular Js, Sevlets, Java-Rest Assured Framework.

Каждая запись в таблице имеет ссылку на файл журнала, который является URL-адресом, который приходит как ответ API api.

КогдаЯ даю его в качестве тега привязки, и когда я щелкаю по нему из пользовательского интерфейса, во всплывающем окне загружается файл, а не открывается.

Мой вопрос здесь заключается в том, как получить данные из URL-адреса вместо их загрузки.в виде файла, когда пользователь нажимает на ссылку.

<td> <a ng-href="{{item.outputuri}}" target="_blank">Click Log
 </a>

                                 </td>

Я прочитал несколько постов и узнал, что нам нужно установить расположение контента на стороне сервера.Но это невозможно, поэтому я хочу обработать его со стороны клиента.

Заранее спасибо.

1 Ответ

0 голосов
/ 24 мая 2018

Вместо того, чтобы пытаться перейти на отдельный URL, как насчет отображения контента непосредственно на той же странице?Вы можете отобразить контент, динамически создав элемент IFRAME и вставив его в хост прямо на своей странице.

Приведенный ниже метод displayContent запрашивает URL-адрес, а затем передает содержимое в createIframe.Этот метод создаст элемент IFRAME и запишет в него содержимое.Я добавил базовый элемент в контент, чтобы убедиться, что все относительные ссылки отображаются правильно.

this.displayContent = function(url) {
    $http.get(url).then(res => this.createIfram(url, res.data, this.hostElem);
}

this.createIframe = function(baseUrl, content, appendToElem) {
    var iframe = document.createElement('iframe');
    iframe.className = 'content';
    appendToElem.appendChild(iframe);
    iframe.contentWindow.document.open();
    iframe.contentWindow.document.write('<base href="' + baseUrl + '" />');
    iframe.contentWindow.document.write(content);
    iframe.contentWindow.document.close();
    // do some other processing on the document
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...