DRF小写标题键

时间:2017-04-28 21:21:17

标签: ember.js django-rest-framework

是否可以使用小写的HTTP标头密钥"内容类型"用django休息框架解析器?

HTTP标头不区分大小写,但它似乎不适用于DRF 3.3.2。我的前端(emberjs)通过ember-network(Fetch API)发送带有小写标题名称的请求。

1 个答案:

答案 0 :(得分:0)

是的,确实如此。但是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);
               }
            })
        });
}