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
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.
base_url() is a CodeIgniter(PHP) function,
You are treating it like a javascript variable.
Change to:
url: '<?php echo base_url();?>autocomplete/get_caste_list',
You are using a php variable as a javascript.
This is the right way of using it:
$.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);
}
});
you have to declare var base_url
in your header file
<script>
var base_url = "<?php echo base_url();?>";
</script>