我有一个路由/reports/foo-report/rendered/
,它将返回文件下载(使用Content-Disposition
标题)。根据REST的建议,报告是以pdf还是powerpoint的形式返回,取决于请求的Accept
标头。
在触发文件下载时,我有哪些选项来设置此标头?我显然不能使用XmlHttpRequest
,链接或表单。我目前正在使用令人敬畏的jquery.fileDownload但它似乎也不支持这个。
有没有办法在浏览器中以适当的RESTy方式执行此操作?
答案 0 :(得分:-1)
我不熟悉jquery.fileDownload,但是如果您有权访问$.ajax({})
,则可以设置特定标题:
$.ajax({
headers: {
Accept : "text/plain; charset=utf-8",
"Content-Type": "text/plain; charset=utf-8"
},
data: "data",
success : function(response) {
...
}
})
已发布here。
答案 1 :(得分:-1)
确实存在一个奇怪的问题,遗憾的是我无法想到这样做的方法。
但我确实找到了Django arguing that format suffixes should be considered an acceptable pattern。虽然这并没有为您提供使用Accept
标头的方法,但它确实提出了另一种(可以说是) RESTy 方法。