4

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

4 Answers 4

8

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.

Sign up to request clarification or add additional context in comments.

2 Comments

also added the script in header section.
My suggestion is keep your script in an external file. And call it in footer. It will help to speed optimization.
0

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',

1 Comment

it's also get the same prome
0

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);
    } 
});

1 Comment

it's also get the same problem.
0

you have to declare var base_url in your header file

<script>
    var base_url = "<?php echo base_url();?>";
</script>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.