在进行AJAX后,如何设置角度为X-XSRF-TOKEN

时间:2016-05-04 15:39:55

标签: angularjs ajax post csrf

我理解跨站点伪造请求,但我不确定一件事,如何将角度设置为X-XSRF-TOKEN以使cookie匹配。我认为在发出或发布请求时会通过Angular的$ http提供商,但是当我尝试发布请求时,我仍然会收到403。我正在使用Django作为后端,因此我设置了$ httpProviders cookie和标题名称。

function Config($locationProvider, $stateProvider, $urlRouterProvider, $httpProvider) {

    $locationProvider.html5Mode(true);
    $httpProvider.defaults.xsrfCookieName = 'csrftoken';
    $httpProvider.defaults.xsrfHeaderName = 'X-CSRFToken';
    $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';

var promise = $http({
            method: method,
            url: (isApi ? Config.api_path : '/') + uri,
            'X-CSRFToken': $http.csrftoken,
            data: data || {},
            timeout: deferred.promise
        })

0 个答案:

没有答案