Я пытаюсь создать ссылку, которая будет загружать CSV-файл. Моим текущим решением является прослушивание события клика по этой ссылке, а затем прикрепление скрытой формы и отправка этой формы. Я хотел бы установить объект окна равным ссылке на обработчик, который создает CSV. Однако, похоже, это не работает, вот что я до сих пор. Я НЕ ЗАИНТЕРЕСОВАН В ИСПОЛЬЗОВАНИИ ЛЮБЫХ ДОПОЛНИТЕЛЬНЫХ БИБЛИОТЕК.скачать CSV-файл с использованием объекта window
Это код обработчика, который используется для создания манекена CSV файла:
else if(action == "exportalldata")
{
context.Response.Clear();
context.Response.ContentType = "application/csv";
context.Response.AddHeader("Content-Disposition", "attachment; filename=yourData.csv");
context.Response.Write("\"ID\", \"Description\", \"DTA\"\n");
context.Response.Write("\"\test1\",\"test2\",\"test3\"\n");
context.Response.End();
}
метода формы, при нажатии на ссылку, что событие вызывает это (который работает):
$form = $(document.createElement('form'))
.attr({
action: 'svc/export.ashx/exportAllData',
method: 'POST'
})
.css('display', 'none')
.appendTo('body');
$form.submit();
$form.empty().remove();
I хотел бы сделать следующее:
<a id = "exportData" href="javascript:window.location='svc/export.ashx/exportAllData'">Export Variable List</a>
Когда я делаю это, все, что происходит, я получаю пустой экран и нет CSV файл всегда загружается. Было бы неплохо, если бы ссылка также не привела пользователя к странице, содержащей ссылку. Я попытался установить target = "_blank", однако это не сработало.
Я действительно видел это в подобном ответе, но мне не интересно использовать дополнительные библиотеки, если это возможно. –
Достаточно честный. Вы все равно должны его проверить;) –