Ember:如何使用href发出POST请求

时间:2016-09-09 16:41:04

标签: ember.js

我有g;包含GET请求。它正在将一些数据导出到csv文件,并且运行良好。通过单击链接,特定服务将返回下载中显示的csv文件。

HBS:

href

JS:

<a {{bind-attr href=csvExportUri}}><span class="fooicon-excel"></span></a>

我的问题是如何修改代码,以便app.FooController = Ember.ObjectController.extend({ csvExportUri: function () { var opts = this.model.options; return '/bar/csv?' + $.param(options); }.property('model') 代表POST请求?我需要它,因为href变得太大了。

谢谢

1 个答案:

答案 0 :(得分:0)

您可以使用原始ajax请求来尝试完成您正在做的事情:

HBS:

<a {{action 'exportToCsv'}}><span class="fooicon-excel">Export To CSV</span></a>

JS:

App.FooController = Ember.ObjectController.extend({
  actions: {
    exportToCsv: function() {
      Ember.$.ajax({
        url: '/bar/csv',
        data: JSON.stringify({ foo: 'bar', options: someOptionsObj }),
        type: 'POST',
        contentType: 'application/json',
        headers: {
          token: 'sometoken',
        },
      }).then(function(apiResult) {
        // do something with apiResult
        // possiblly open download link that is in apiResult
      });
    }
  }
});