【发布时间】:2017-04-28 21:21:17
【问题描述】:
是否可以在 django rest 框架解析器中使用小写 HTTP 标头键“content-type”?
HTTP 标头不区分大小写,但它似乎不适用于 DRF 3.3.2。我的前端(emberjs)通过ember-network(Fetch API)发送带有小写标题名称的请求。
【问题讨论】:
标签: ember.js django-rest-framework
是否可以在 django rest 框架解析器中使用小写 HTTP 标头键“content-type”?
HTTP 标头不区分大小写,但它似乎不适用于 DRF 3.3.2。我的前端(emberjs)通过ember-network(Fetch API)发送带有小写标题名称的请求。
【问题讨论】:
标签: ember.js django-rest-framework
是的,是的。但是 ember-network 或 Fetch API 不返回成功和错误回调。
改为:
fetch(url, {/options/}).then(
(success) => {
//
},
(error) => {
//
});
使用:
fetch(url, {/options/}).then(
(response) => {
if (response.status >= 400) {
//error
} else {
//success
}
}
);
注意response.json() returns a promise,我的代码是:
function request(url, type, data){
return new Ember.RSVP.Promise((resolve, reject) => {
let headers = {...};
let credentials = 'include';
fetch(url, {
method: type,
body: JSON.stringify(data),
headers: headers,
credentials: credentials
}).then((response) => {
response.json().then(
(json) => {
if (response.status >= 400) {
reject(json);
} else {
resolve(json);
}
})
});
}
【讨论】: