CodeIgniter在Ajax中禁止使用403

时间:2019-08-12 20:45:09

标签: ajax codeigniter

我不明白为什么以下代码会导致403错误。

我已经检查了csrf问题,但是csrf没有问题

public function get_country_states() {      
$states = $this->db->select('*')->where('country_id',$this->input->post('country'))->get('xx_states')->result_array();      
$options = array('' => 'Select State') + array_column($states,'name','id');         
$html = form_dropdown('state',$options,'','class="form-control select2" required');         
$error =  array('msg' => $html);        
echo json_encode($html);    
}

js:

<script type="text/javascript">

var base_url = '<?php echo base_url(); ?>';
var csfr_token_name = '<?php echo $this->security->get_csrf_token_name(); ?>';
var csfr_token_value = '<?php echo $this->security->get_csrf_hash(); ?>';
$(document).on('change','.country',function(){
var data = {country : this.value,}
data[csfr_token_name] = csfr_token_value
$.ajax({
type: "POST",
url: "<?= base_url('account/get_country_states') ?>",
data: data ,
dataType: "json",
success: function(obj) {
alert('Success');
$('.state').html(obj.msg);
},
fail:function(){
console.log('Error');
}
});
});
</script>

0 个答案:

没有答案