У меня есть запрос ajax в моем приложении CI, вот для этого мой файл cstom.js.
$(document).ready(function(){ var base_url='<?php echo base_url();?>'; $('#add-ct').click(function(){ $.ajax({ url:base_url+'stockmanagement/add_category', data:{category:$('#category').val()}, success:function(data){ alert(data); }, error:function(err){ alert('error'+err); } }); }); });
Но base_url
не base_url
, когда я проверяю консоль отладки, base_url
печатается так же, как и исходный код, подобный этому.
var base_url='<?php echo base_url(); ?>';
ОБНОВИТЬ
мой файл javascript включен в файл вида
<?php if($page=='add-category'){ echo '<script src="'.base_url().'/assets/js/custom.js"></script>'; }?>
Проблема в том, что вы пытаетесь запустить PHP-код внутри JS-файла. Это не будет работать, поскольку PHP-код может работать только внутри файлов с расширением .php
.
Чтобы исправить это, вам нужно установить глобальную переменную в Javascript для хранения значения вашего base_url
поэтому, если вы хотите включить JS-файл, вы должны сначала определить переменную, как в следующем примере:
index.php
<html> <head> <!-- SET GLOBAL BASE URL --> <script>var base_url = '<?php echo base_url() ?>';</script> <script src="/assets/js/custom.js"></script> </head> <body> </body> </html>
custom.js
//now we can reference the base_url alert(base_url+"some/other");
Объявить var base_url в файле заголовка
<script> var base_url = "<?php echo base_url();?>"; </script>
<?php echo base_url();?>
Код PHP не выполняется в js-файле. Вы должны объявить var base_url = "<?php echo base_url();?>";
в файле PHP, таком как файл шаблона, как глобальная переменная.