gpt4 book ai didi

javascript - 触发点击 n 在 javascript 中创建的元素并下载 csv 文件

转载 作者:行者123 更新时间:2023-11-29 10:32:47 24 4
gpt4 key购买 nike

我正在尝试创建一个 a 元素并在其上触发点击事件,然后在 ajax 响应上下载一个 csv 文件(数据数组仅用于测试目的)

$(document).on('click','.csv',function(){

var ticketid = $(this).attr('data-ticket');
$.ajax({
url: window.location.href,
method:'POST',
data: {
action:"export-csv",
ticketid: ticketid
},
}).done(function(response){
var data = [
['Foo', 'programmer'],
['Bar', 'bus driver'],
['Moo', 'Reindeer Hunter']
];
var response_object = $.parseJSON(response.html);
var result = toArray(response_object);
var csv = 'Name,Title\n';
data.forEach(function(row) {
csv += row.join(',');
csv += "\n";
});
console.log( encodeURI(csv));
var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8,' + encodeURI(csv);
hiddenElement.target = '_blank';
hiddenElement.download = 'data.csv';
hiddenElement.click();
});
});

使用此代码没有错误,但也没有下载。

最佳答案

不要使用 trigger() 在 DOM 对象上,因为它是一个 jQuery 方法,只需 .click() 就可以完成工作,检查下面的工作示例:

 hiddenElement.click();

希望这对您有所帮助。

var hiddenElement = document.createElement('a');
hiddenElement.href = 'data:text/csv;charset=utf-8, ABCD';
hiddenElement.download = 'aaa.csv';
hiddenElement.click();

关于javascript - 触发点击 n 在 javascript 中创建的元素并下载 csv 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42225836/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com