我在我的应用程序中添加了一个CSRF令牌。普通表单工作正常,但现在我必须调整所有ajax请求。
在不同的地方有很多ajax请求,这就是为什么我正在寻找一种解决这个问题的简单方法。
是否有某种事件,在发送ajax请求之前触发,所以我可以将CSRF令牌添加到请求中?
答案 0 :(得分:1)
您可以使用ajaxSend,它允许您在执行ajax请求之前更改URL。
$( document ).ajaxSend(function( event, jqxhr, settings ) {
if ( settings.url == "ajax/test.html" ) {
$( ".log" ).text( "Triggered ajaxSend handler." );
}
});
答案 1 :(得分:1)
除了评论中列出的文章中提到的方法外,还有
发送AJAX请求之前调用的beforeSend(..)
函数
有关详细信息,请参阅documentation。
答案 2 :(得分:0)
您可以为不同的AJAX事件see here
绑定事件侦听器 $(document).bind("ajaxSend", function(){
$("#loading").show();
}).bind("ajaxComplete", function(){
$("#loading").hide();
});
同样,您可以将方法绑定为
$(document).bind("ajaxSend", function(){
// code to add CSRF token
})
这些事件在文档上触发,并且 GLOBAL EVENT 。