使用jquery和c#mvc将tabledata作为文件返回

使用jquery和c#mvc将tabledata作为文件返回,c#,jquery,model-view-controller,C#,Jquery,Model View Controller,我想使用jquery将表数据发送到服务器,然后获取一个data.csv文件进行下载 如果我在浏览器中导航到url,如下所示: 我得到一个要下载的文件 这就是我所呼吁的行动: public FileResult Csv(FileModel fileModel) { return File(Encoding.UTF8.GetBytes(fileModel.Text), "text/plain", string.Concat(fileModel.Filename, ".

我想使用jquery将表数据发送到服务器,然后获取一个data.csv文件进行下载

如果我在浏览器中导航到url,如下所示: 我得到一个要下载的文件

这就是我所呼吁的行动:

    public FileResult Csv(FileModel fileModel)
    {
        return File(Encoding.UTF8.GetBytes(fileModel.Text), "text/plain", string.Concat(fileModel.Filename, ".csv"));
    }
我的javascript如下所示:

    $("table").click(function () {
        $.ajax({
            type: "POST",
            url: "http://localhost:49400/File/Csv/",
            data: {"Text": "qwerty", "Filename": "asdf"}
        })
    });

firebug中的响应包含数据,但我希望它询问用户是否要下载数据,这可能吗?

您不能使用AJAX下载文件

相反,您可以将
位置设置为指向该文件的URL。
只要服务器返回一个可下载的文件(带有
内容处置
标题),浏览器就会显示一个保存对话框,并且不会替换页面


如果你想从帖子中下载文件,你可以制作一个隐藏的
来发送帖子,然后
submit()
使用Javascript创建表单。

你不能通过ajax调用交付文件内容,也许可以找到一种方法,以表数据作为查询字符串构建URL,并以这种方式流式传输文件,或者以流式方式发回整个页面和响应

使用javascript创建表单,并将其与数据一起提交,然后获得一个文件,谢谢!