我不明白为什么以下代码会导致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>