我正在尝试将base_url()
用于javascript文件,在我搜索了如何操作之后,我找到了这个解决方案:
在我的页面标题中,我打印出base_url
,如下所示:
<script type="text/javascr1pt">
var base_url='<?php echo base_url() ?>';
</script>
在我的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>');
}
});
});
});
但我收到此错误消息:
ReferenceError: base_url is not defined
那么为什么我没有定义变量base_url?
当我使用Firebug检查我的页面时,我可以看到变量已定义:
<script type="text/javascr1pt">
var base_url='http://localhost/ci/';
</script>
我该如何解决这个问题?
答案 0 :(得分:6)
javascr1pt
的拼写为javascript
。
如果使用无法识别的Content-Type,则不会将脚本作为JS处理。
从HTML 5开始,对于加载JavaScript的脚本元素,type属性是可选的。你应该完全省略它,因为它的唯一功能就是让你有机会犯这样的拼写错误。