【问题标题】:using php code inside a JS file [closed]在 JS 文件中使用 php 代码 [关闭]
【发布时间】:2014-04-09 22:35:06
【问题描述】:

我正在尝试将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>

我该如何解决这个问题?

【问题讨论】:

  • 试试&lt;script type="text/javascript"&gt; 而不是&lt;script type="text/javascr1pt"&gt; 你什么时候包含你的JS文件?在base_url之前还是之后?
  • 脚本类型拼写错误为text/javascr1pt 是故意的吗? (你有一个 1 而不是 i。)
  • 投票结束为印刷错误。

标签: javascript php


【解决方案1】:

javascr1pt 拼写为javascript

如果使用无法识别的 Content-Type,则脚本不会被作为 JS 处理。

从 HTML 5 开始,type 属性对于加载 JavaScript 的脚本元素是可选的。您应该完全省略它,因为它在这里的唯一作用是让您有机会做出这样的错字。

【讨论】:

    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 2012-04-11
    • 2013-12-18
    • 1970-01-01
    • 2013-02-19
    • 1970-01-01
    • 2014-01-28
    • 1970-01-01
    相关资源
    最近更新 更多