2016-04-14 6 views
6

Я пытаюсь извлечь файл и вернуть его в HTML. Однако это не так просто, как я мог себе представить.Возврат HTML С помощью fetch()

fetch('/path/to/file') 
    .then(function (response) { 
     return response.body; 
    }) 
    .then(function (body) { 
     console.log(body); 
    }); 

Это возвращает объект под названием ReadableByteStream. Как использовать это для захвата содержимого HTML-файла?

Если изменить содержимое /path/to/file быть строка JSON, и измените выше:

fetch('/path/to/file') 
    .then(function (response) { 
     return response.json(); 
    }) 
    .then(function (json) { 
     console.log(json); 
    }); 

... она возвращает JSON правильно. Как сделать выборку HTML?

+2

Это вызывает проблемы: что вы намерены делать с этим HTML? потому что я надеюсь, что это не «ввести его в мой активный документ». Вместо этого попросите данные в форме JSON, а затем создайте DOM вокруг этого клиента, так что вы * знаете, что пользователь не загружает потенциально взломанный и супербезопасный слепой HTML. –

ответ

8

Вам необходимо использовать метод .text(), а не .json(). Это преобразует поток байтов в обычный текст, который может анализироваться браузером как HTML.

Смежные вопросы