krakenjs angularjs $ HTTP方法=“删除”不工作

问题描述:

在KrakenJs,我发现了一个修井作业,以使POST/PUT/DELETE请求,而不通过传递“_csrf”参数在体内关闭“CSRF”

在index.dust - >

<input id="csrfid" type="hidden" name="_csrf" value="{_csrf}"> 

在myScripts.js - >

var csrf = document.getElementById('csrfid').value; 
    $http({ method: 'POST', 
     url: 'http://localhost:8000/myRoute/', 
     data: { '_csrf': csrf, 'object': myObject } 
     }).success(function(result) { 
     //success handler 
     }).error(function(result) { 
     //error handler 
     }); 

它与完美POST/PUT请求。但是,当我尝试使DELETE失败与500

但是,我已经试过jQuery DELETE,并且工作正常...问题是与AngularJs ... 有人遇到它吗?

您正在使用哪个版本的angular.js?

根据this的讨论,如果使用快捷方法$ http.delete,angular.js将不会发送请求正文,但如果您使用{method:'DELETE'},则会发送请求正文。还有人担心,一般情况下,某些浏览器不会发送删除请求的主体,但这似乎不是您的问题,因为它与JQuery一起工作。

我询问angular.js的版本,因为它可能是这种解决方法在某些版本中不起作用。

+0

AngularJS v1.2.13有没有其他已知的解决方法,以便我可以做出删除请求..没有关闭“csrf”..我不想在这个项目中单独包含jQuery。 – rjnpnigrhi

+0

它看起来像你可以设置标题为一个不同的csrf解决方法? http://stackoverflow.com/questions/14109927/angular-js-verify-csrf-token-in-post-request –