Javascript CSRF到getcitydetails jquery函数

Javascript CSRF到getcitydetails jquery函数,javascript,jquery,Javascript,Jquery,我精通javascript,所以请帮助我。我有一个函数,它为每个国家选择(一次改变)每个城市。我必须在帖子中添加csrf令牌 默认功能运行良好,但需要CSRF function getcitydetails(id) { $.ajax({ type: "POST", url: base_url + "fanok/ajax_city_list/" +id, data: id='city_county_code', success: function(data){

我精通javascript,所以请帮助我。我有一个函数,它为每个国家选择(一次改变)每个城市。我必须在帖子中添加csrf令牌

默认功能运行良好,但需要CSRF

function getcitydetails(id) {

$.ajax({
    type: "POST",
    url: base_url + "fanok/ajax_city_list/" +id,
    data: id='city_county_code',
    success: function(data){   
        $('#user_city').html(data);
    },
});
}

我试过一个

function getcitydetails(a) {

var b = {
    id = a
}

b[csfr_token_name] = $.cookie(csfr_cookie_name);

$.ajax({
    type: "POST",
    url: base_url + "fanok/ajax_city_list/" +id,
    data: b[id]='city_county_code',
    success: function(data){   
        $('#user_city').html(data);
    },
});
}

这是不起作用的:/

请帮帮我


提前感谢。

如果不知道API需要什么数据,这个问题很难回答。但是,您的代码中存在多个错误(或至少是奇怪的习惯):

var b = {
    id = a
    // ^ What is that = doing there?
}
// And
$.ajax({  // [snip]
   data: b[id]='city_county_code'
   //  ^ Again, strange location for an assignment: assigning 'city_county_code' to b[id] and then storing that result (thus 'city_county_code') to data
})
最可能起作用的变量(假设变量
csfr\u token\u name
csfr\u cookie\u name
[sic]在范围内的某个地方声明并具有正确的值):


我不知道什么框架用作后端,但您可以将CSRF作为元放在页面顶部,如下所示

<meta name="csrf-token" content="<?php echo $CSRF; ?>">
然后,所有ajax请求都将CSRF作为头 至于代码点火器

    function getcitydetails(id) {
        var csrfName = '<?php echo $this->security->get_csrf_token_name(); ?>',
            csrfHash = '<?php echo $this->security->get_csrf_hash(); ?>';
        var postData = {
           id: id,
           csrfName:csrfHash
     // or id: 'city_county_code' (I don't know)
        }

  postData[csfr_token_name] = $.cookie(csfr_cookie_name);

    $.ajax({
        type: "POST",
        url: base_url + "fanok/ajax_city_list/" +id,
        data: postData,
        success: function(data){   
            $('#user_city').html(data);
        },
    });

}
函数getcitydetails(id){ var csrfName=“”, csrfHash=''; var postData={ id:id, csrfName:csrfHash //或者id:'城市\县\代码'(我不知道) } postData[csfr\u token\u name]=$.cookie(csfr\u cookie\u name); $.ajax({ 类型:“POST”, url:base_url+“fanok/ajax_city_list/”+id, 数据:postData, 成功:函数(数据){ $('#user_city').html(数据); }, }); } 那么答案就在这里
$.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
});
    function getcitydetails(id) {
        var csrfName = '<?php echo $this->security->get_csrf_token_name(); ?>',
            csrfHash = '<?php echo $this->security->get_csrf_hash(); ?>';
        var postData = {
           id: id,
           csrfName:csrfHash
     // or id: 'city_county_code' (I don't know)
        }

  postData[csfr_token_name] = $.cookie(csfr_cookie_name);

    $.ajax({
        type: "POST",
        url: base_url + "fanok/ajax_city_list/" +id,
        data: postData,
        success: function(data){   
            $('#user_city').html(data);
        },
    });

}