发送Ajax请求之前的事件(向请求添加一些数据)

时间:2015-08-18 14:16:08

标签: javascript jquery ajax post

我在我的应用程序中添加了一个CSRF令牌。普通表单工作正常,但现在我必须调整所有ajax请求。

在不同的地方有很多ajax请求,这就是为什么我正在寻找一种解决这个问题的简单方法。

是否有某种事件,在发送ajax请求之前触发,所以我可以将CSRF令牌添加到请求中?

3 个答案:

答案 0 :(得分:1)

  

.ajaxSend()

您可以使用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