AngularJS删除请求403错误

AngularJS 403 error in delete request

我正在使用此代码发送删除请求:

  $http({method: 'DELETE', url: '/url'}).
    success(function(status){
      //return status
    }).
    error(function(status){
    });

我在 app.run() 中设置 csrf 如下:

 $http.defaults.headers.post['X-CSRFToken'] = getCookie("csrftoken");

GET 和 POST 工作正常,这意味着 header 包含一个 csrf 令牌,但是在发送 DELETE 请求时我收到 403 禁止错误和状态:

detail: "CSRF Failed: CSRF token missing or incorrect."

我需要添加到 DELETE 请求的 header 中的任何额外内容吗?

我会简单地添加一个 HTTP 请求拦截器以将令牌添加到所有 POST / PUT / DELETE 请求。例如

.config(function($httpProvider) {
    $httpProvider.interceptors.push(function() {
        return {
            request: function(config) {
                if (~['POST', 'PUT', 'DELETE'].indexOf(config.method)) {
                    config.headers['X-CSRFToken'] = getCookie("csrftoken");
                }
            }
        };
    });
})