Skip to content
Advertisement

Ajax request with codeigniter 403 (forbidden)

I’m trying to send an value with Ajax to Controller file in Codeigniter but without success.I have searched for that problem and i now this question is made many times here,but still can’t find a sultion.Hope anyone can help me. Thanks !

Js file.

function submitSend()
{
    var message = $('#sms').val();
    if(message == "")
    {
      $("#sms").attr("placeholder", "Type a message please...");
      return false;
    }

    $.ajax(
    {
      url: "<?php echo base_url();?>/mychat/send",
      type: 'POST',
      data:{
              '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>',
              'message': message
             },
      success: function (data)
      {
       window.console.log('Successful');
      },
      error :function(data)
      {
      window.console.log('Failed');
      }
    });
}

Controller function.It’s in file called MyChat.

public function send()
  {
     $message = $this->input->post('message');
     echo $message;
  }

Advertisement

Answer

Add this code in your footer view before including JS file

<?php $CI =& get_instance(); ?>
<script> 
    var csrf_name = '<?php echo $CI->security->get_csrf_token_name(); ?>';
    var csrf_hash = '<?php echo $CI->security->get_csrf_hash(); ?>';
</script>

and just call these variables anywhere you need like this

data:{
     csrf_name : csrf_hash,
     'message': message
},
Advertisement