相关疑难解决方法(0)

下载csv文件作为对AJAX请求的响应

我有一个名为'/ downloadUserAction'的端点,它收集数据并下载csv文件.我遇到的挑战是,在使用click功能按钮调用端点时,文件不会被下载,但只有在我直接在浏览器中访问端点时才会下载.

经过研究,我发现了一些结论,认为你不能使用AJAX来下载文件.这是有道理的,因为当我点击我的按钮时,我看到端点被命中,文件内容在网络选项卡中传递,但是没有文件在客户端上下载.

这就是我只是在javascript端使用我页面上的数据表按钮插件功能来调用我的端点.

$(document).ready(function () {
    var table = $("#userActivity").on('init.dt', function() {
            }).DataTable({
                dom: 'Blfrtip',
                buttons: [
                          {
                            extend: 'csvHtml5',
                            text: 'NLP Search Download',
                            action: function ( e, dt, node, config ) {
                                $.ajax({
                                    url : window.location + "/downloadUserAction?draw=3&search%5Bvalue%5D=NLP_SEARCH&order%5B0%5D%5Bcolumn%5D=6&order%5B0%5D%5Bdir%5D=desc"                        
                                });
                            }
                          }
                      ],
Run Code Online (Sandbox Code Playgroud)

是否有另一种调用我的端点的方法会强制在客户端页面上下载?

注意:我的数据表正在使用服务器端处理,否则我只会使用datatables csv导出按钮.

javascript datatables

6
推荐指数
1
解决办法
2万
查看次数

标签 统计

datatables ×1

javascript ×1