2014-12-11 2 views
1

Использование base_url() в ajax для получения из базы данных в проекте codeigniter. Данный base_url похож на http://domainname.com. Это прекрасно работает. Если я могу набрать мой url как http://www.domainname.com в адресной строке, он не работает. КодCodeigniter base_url() не работает должным образом для ajax

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

Помогите решить эту проблему. Благодаря

ответ

4

С моей точки зрения наилучшим решением является:

Просто добавьте следующий скрипт в заголовок раздела HTML.

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

Затем в использовании кода Ajax BASE_URL в качестве переменной. Средства:

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

Используйте базовый URL, как следующим образом:

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

Очень простое решение.

+0

также добавил скрипт в раздел заголовка. –

+0

Мое предложение - сохранить свой скрипт во внешнем файле. И позвоните в нижний колонтитул. Это поможет ускорить оптимизацию. –

+0

Я попробовал, но все еще проблема не исправлена. –

0

base_url() является функцией CodeIgniter (PHP),

Вы рассматриваете его как переменная JavaScript.

Изменить на:

url: '<?php echo base_url();?>autocomplete/get_caste_list', 
+0

это также получить тот же Prome –

0

Вы используете переменную PHP как JavaScript.

Это правильный способ его использования:

$.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); 
    } 
}); 
+0

это также получить ту же проблему. –

0

вы должны объявить var base_url в файле заголовка

<script> 
    var base_url = "<?php echo base_url();?>"; 
</script> 
Смежные вопросы