2014-01-28 2 views
0

У меня есть веб-страница, на которую требуется время для загрузки (много данных для получения). На этой веб-странице у меня есть таблица со всеми моими данными.Загрузите часть веб-страницы с javascript

Я хочу, чтобы иметь возможность нажимать на кнопку, а javascript получит содержимое моей таблицы ($("#mytableId").html(); с jQuery) и позволит пользователю загрузить его.

Это позволило бы мне перезагрузить страницу (и всю обработку данных), но я понятия не имею, как я могу это сделать или даже если это возможно. (И я не думаю, что я использую правильные условия поиска в Google ...)

Есть ли способ сделать это?

+0

Да, если ваш сервер может обслуживать JSON (или непосредственно данные HTML) вы можете сделать асинхронный запрос в JQuery с $ .ajax(). Конечно, ваш сервер должен предоставить только требуемую таблицу, а не целую страницу, поэтому вам нужно написать соответствующий код на стороне сервера для этого (вы не говорите, что используете, PHP/JSP/ASP.NET/что-то еще) –

+0

'и позволить пользователю загрузить его.' - что вы подразумеваете под 'download'? –

+0

Nick R: Я хочу, чтобы пользователь имел «всплывающее окно», которое спрашивает, хочет ли пользователь открыть или загрузить файл. Адриано: Моя проблема в том, что я не хочу использовать ajax! Я хочу, чтобы мой код javascript получил часть моей веб-страницы и подал ее пользователю в файл. Без необходимости перезагружать что-либо (получение всех данных требует времени с разной стороны) – user3017110

ответ

0

Наконец, я нашел способ сделать то, что я хотел:

<a onclick="$(this).attr('href', 'data:text/plain;base64,' + utf8_to_b64($('#myTable')));" download="index.xls" id="generate">Generate static</a>

с этим:

function utf8_to_b64(str) { 
    return window.btoa(unescape(encodeURIComponent(str))); 
} 

мне не нужно, чтобы перезагрузить страницу, чтобы иметь возможность загрузить данные.

Полная ссылка с StackOverflow здесь: How to download the current page as a file/attachment using Javascript?

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