如何指定内容

我想做一个异步GET请求,返回一个带有MIME内容类型的文档,并使它带上浏览器的“保存”对话框。

以前,我曾经通过链接进行常规HTTP(非异步)调用,返回的响应具有如下所示的“Content-Type”和“Content-Disposition”:

Content-Type: text/plain
Content-Disposition: attachment; 
    filename=genome.jpeg; 
    modification-date="Wed, 12 Feb 1997 16:29:51 -0500";

有没有办法将其转换为jQuery的$ .ajax()GET请求?

$ .ajax方法仅支持dataTypes,“xml”,“html”,“script”,“json”,“jsonp”和“text”。 我的答复数据类型是否属于这些类别之一?

我的请求如下所示:

$.ajax({url: myUrl,
    data: params,
    type: "GET",
    success: function(data)
    {
        console.log("try to save this file!");
    },
    error: function(req, status, errThrown){
        alert("ERROR: Something happened");
    }

在'成功'回调中,我看到文件内容作为纯文本传回到'data'变量中,但需要在浏览器上启动'保存'对话框。

服务器IS发送带有正确标题集的响应。


我不知道如何获得真正的Ajax请求来弹出保存对话框。 这与服务器发送的标题无关。

如果您想以编程方式弹出保存对话框,则可以使用jQuery将隐藏的iframe附加到带有URL的页面,因为它是src。 这将根据需要弹出对话框。


这是服务器必须做的事情。 客户端无法做任何事情,迫使不愿意的服务器设置响应头。

链接地址: http://www.djcxy.com/p/46267.html

上一篇: How to specify content

下一篇: AWS S3: Force File Download using 'response