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的版本,因为它可能是这种解决方法在某些版本中不起作用。
AngularJS v1.2.13有没有其他已知的解决方法,以便我可以做出删除请求..没有关闭“csrf”..我不想在这个项目中单独包含jQuery。 – rjnpnigrhi
它看起来像你可以设置标题为一个不同的csrf解决方法? http://stackoverflow.com/questions/14109927/angular-js-verify-csrf-token-in-post-request –