我在CI应用程序中有一个 AJAX 请求,下面是用于该目的的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
被打印为与源代码一样。
var base_url='<?php echo base_url(); ?>';
更新
我的javascript文件包含在视图文件中
<?php if($page=='add-category'){ echo '<script src="'.base_url().'/assets/js/custom.js"></script>'; }?>
5条答案
按热度按时间t1rydlwq1#
问题是你试图在一个JS文件中运行PHP代码。这是行不通的,因为PHP代码只能在扩展名为
.php
的文件中运行。要解决此问题,必须在Javascript中设置一个全局变量来保存base_url的值
因此,如果要包含JS文件,则应首先定义变量,如下例所示:
索引.php
自定义.js
krcsximq2#
在头文件中声明var base_url
kokeuurv3#
在模板中,我放置了以下内容:
然后在main.js中,如下所示:
它会将您发送到“yoursite.com/user/logout ...“
编辑:“lobtn”是您的注销按钮的ID ...
nhhxz33t4#
PHP代码不能在js文件中执行。您必须在PHP文件(如模板文件)中声明
var base_url = "<?php echo base_url();?>";
作为全局变量。rta7y2nd5#
你可以做一件事复制上面的代码并粘贴到你的头文件