Php – Codeigniter base_url() not working properly for ajax

ajaxcodeigniterjqueryphp

Using base_url() in ajax for getting the from database in codeigniter project. Given base_url is like http://domainname.com. It's works fine. If may i type my url like http://www.domainname.com in address bar it's not working. The code is

$.ajax
 ({
    type: "POST",
    url: base_url+'autocomplete/get_caste_list',
    data: {religion:$('#religion').val(),'csrf_test_name': csrf_value},
     cache: false,
     success: function(html)
        {
       $("#caste").html(html);
        } 
   });

Please help to solve this issue.
Thanks

Best Solution

In my point of view the best solution is:

Just add the following script in header section of HTML.

<script type="text/javascript">
    var BASE_URL = "<?php echo base_url();?>";
</script>

Then in your Ajax code use BASE_URL as a variable. Means:

$.ajax
({
    type: "POST",
    url: BASE_URL+'autocomplete/get_caste_list',
    data: {religion:$('#religion').val(),'csrf_test_name': csrf_value},
    cache: false,
    success: function(html)
    {
        $("#caste").html(html);
    } 
});

Use your base url as following way:

$config['base_url'] = "http://{$_SERVER['HTTP_HOST']}/";

Very simple solution.

Related Question