如http://wiki.apache.org/couchdb/HTTP_Document_API#Getting_Attachments_With_a_Document所述,我可以要求通过?attachments=true
将附件与文件附件一起退回。
问题
正如CouchDB wiki所述,附件可以以普通JSON或MIME多部分/相关方式返回。
要获取MIME多部分/相关响应格式,只需在其中添加“Accept:”标头即可 请求值“multipart / related”。
对我来说,即使没有指定Accept:标头,它们也总是以MIME多部分/相关模式返回。也许网页浏览器添加它,但我也无法删除它 - 我需要普通JSON (用javascript处理它们)
问题
我应该怎样做以内联附件, - 或者 - 这是一个CouchDB错误吗?
答案 0 :(得分:3)
默认情况下,webbrowser设置
Accept: */*
因此,正确的方法是事先重置Accept标头:
$.ajax({
beforeSend: function(req) {
req.setRequestHeader("Accept", "");
req.setRequestHeader("Accept", "application/json");
},
type: "GET",
url: "/db/doc/?attachments=true&rnd=_"+(new Date().getTime()),
contentType: "application/json; charset=utf-8",
success: function(data) {
$("#test").html(JSON.stringify(data));
},
error:function(xx,s,x){alert("e"+x.message+" "+x+" "+s);},
});