Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在所有ajax请求中发送令牌_Ajax_Jquery_Post_Token - Fatal编程技术网

如何在所有ajax请求中发送令牌

如何在所有ajax请求中发送令牌,ajax,jquery,post,token,Ajax,Jquery,Post,Token,是否有一种方法可以在一个页面的所有ajax请求中发送令牌,而不必在每个$.ajax({})调用中写入令牌?使用全局beforeSendajax事件来修改任何ajax请求: 更新:我刚刚检查过,似乎此事件将被弃用,因此请改用此选项:您可以全局设置此选项 var token=“一些值” 或者,您可以在beforesend选项中为特定请求单独设置 beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', token);

是否有一种方法可以在一个页面的所有ajax请求中发送令牌,而不必在每个$.ajax({})调用中写入令牌?

使用全局
beforeSend
ajax事件来修改任何ajax请求:


更新:我刚刚检查过,似乎此事件将被弃用,因此请改用此选项:

您可以全局设置此选项
var token=“一些值”

或者,您可以在beforesend选项中为特定请求单独设置

    beforeSend: function (xhr) { xhr.setRequestHeader('Authorization', token); }
           }

首先,必须在脚本行的开头设置:

    $(function () {
        var token = $('input[name="_csrf"]').val();
        $(document).ajaxSend(function(e, xhr, options) {
            console.log("ajax token!!!");
            xhr.setRequestHeader('X-CSRF-Token', token);
        });
    });
然后您通常可以进行所有ajax调用

    $(function(){
        $('#ddlGiro').change(function(){
            var contentResult=document.getElementById('divComboComercio');
            var giro = $("#ddlGiro").val();
             $.ajax({
                 url: [[@{'/comun/comercios/obtener/'}]] + giro,
                 data:  {"origen" : 'AsignarLote'},
                 dataType:'text',
                 cache:false,
                 type:'POST',
                 success:function(response){
                     contentResult.innerHTML=response;
                 }                           
             });
        });
    });
    $(function(){
        $('#ddlGiro').change(function(){
            var contentResult=document.getElementById('divComboComercio');
            var giro = $("#ddlGiro").val();
             $.ajax({
                 url: [[@{'/comun/comercios/obtener/'}]] + giro,
                 data:  {"origen" : 'AsignarLote'},
                 dataType:'text',
                 cache:false,
                 type:'POST',
                 success:function(response){
                     contentResult.innerHTML=response;
                 }                           
             });
        });
    });