我正在尝试使用base_url()javascript文件,在我搜索了如何做之后,我找到了这个解决方案:
在我的页面标题中,我打印出来base_url,如下所示:
<script type="text/javascr1pt">
var base_url='<?php echo base_url() ?>';
</script>
Run Code Online (Sandbox Code Playgroud)
在我的JS文件中,我执行以下操作:
$(function(){
$('#logout-button').click(function(event){
jqxhr = $.ajax({
url : base_url + '/index.php/login/logout' ,
dataType: 'text',
success : function(data){
$('#login-loader').hide();
//location.reload(true);
},
error : function(){
$('#error-login').replaceWith('<div id="error-login" class="msg fail"><p>Une erreur a été rencontrée lors du deconnexion!</p></div>');
}
});
});
});
Run Code Online (Sandbox Code Playgroud)
但我收到此错误消息:
ReferenceError: base_url is not defined
Run Code Online (Sandbox Code Playgroud)
那么为什么我得到变量base_url没有定义?
当我使用Firebug检查我的页面时,我可以看到变量已定义:
<script type="text/javascr1pt">
var base_url='http://localhost/ci/';
</script>
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题 ?
javascr1pt是拼写的javascript.
如果使用无法识别的Content-Type,则不会将脚本作为JS处理.
从HTML 5开始,对于加载JavaScript的脚本元素,type属性是可选的.你应该完全省略它,因为它的唯一功能是让你有机会犯这样的拼写错误.