这在很大程度上是一个象牙塔问题,因为我可以轻松地创建一个新的URL端点。但基本上,当用户将Accept头配置为包含text/csv时,我希望能够提供CSV。这在服务器端是微不足道的,但是在客户端我不知道如何设置Accept头,除非我使用XHR或其他“非浏览器”客户机。当使用window.location时,有没有办法在HTML语言中设置链接中的Accept头,或者在JS中设置Accept头?
发布于 2014-12-16 05:53:25
我想我也可以把这篇文章放在这里,供下1000名关注这篇文章的人使用。你不能这么做。
发布于 2016-07-13 15:57:47
对于那些仍然感兴趣的人,有一种方法可以用纯javascript来实现。
以下代码使用JQuery (https://jquery.com/)和FileSaver.js (http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js),不过您可以自己编写相应的部分:
//in case of non binary data use:
var type = 'text/xml';
var url = 'http://your_url_here/'
$.ajax({accepts:{text:type},
url:url,
processData:false,
dataType:'text',
success:function(data){
saveAs(new Blob([data], {type: type}),'filename.txt');
},
error: function(){
// Handle errors here
}
});
https://stackoverflow.com/questions/20361216
复制相似问题