さまざまな関数呼び出しを試みましたが、EmberJsでCSVのダウンロードをトリガーする方法がわかりません。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呼び出しですか?私はdownloadOrdersCSVを呼び出すためにアクション{{action "downloadOrdersCSV"}}を使用しています:function(){window.open( "yoururl"、 '_ blank');} –