【发布时间】:2016-08-26 01:05:00
【问题描述】:
我尝试了无数不同的函数调用,但似乎无法弄清楚如何在 EmberJs 中触发 CSV 的下载。
这是我最新的代码:
let endpoint = '/api/foo/';
let options = {
url: endpoint,
type: 'POST',
data: {},
dataType: 'text'
};
return new Ember.RSVP.Promise((resolve, reject) => {
options.success = function(result) {
var uri = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(result);
window.open(uri, 'foo.csv');
};
options.error = (xhr, errorThrown) => {
console.log('error');
// return Ember.run(null, reject, this.didError(xhr, xhr.status, xhr.responseJSON, 1));
};
Ember.$.ajax(options);
});
此代码不会引发任何服务器或客户端错误。它得到了 200 个响应。没有 javascript 错误,也没有控制台记录任何内容,所以我知道它没有遇到错误块。但是......它不会触发客户端上的文件下载。有谁知道缺少什么?
【问题讨论】:
-
您的请求有什么特别之处,还是只是一个简单的 url 调用?我正在使用操作 {{action "downloadOrdersCSV"}} 来调用 downloadOrdersCSV:function(){window.open("yoururl",'_blank');}
标签: javascript ajax csv ember.js