codeigniter 常用js php代码放在哪里

Posted

技术标签:

【中文标题】codeigniter 常用js php代码放在哪里【英文标题】:codeigniter where to put common js php code 【发布时间】:2013-04-16 18:43:13 【问题描述】:

我有一个用 codeigniter 开发的网站。 在我网站的许多页面中,我有更多相等的函数 javascript/jquery 和 php 中的一些字符串,如下所示:

function change_city_by_nation(nation_id)
        var site_url_city ="<?php echo(site_url('/backend/city/get_city_by_nation_id')); ?>";
        $.ajax(   
            url: site_url_city, 
            async: false,
            type: "POST", 
            data: "nation_id="+nation_id, 
            dataType: "html", 

            success: function(data) 
                $('#city').empty();
                $(data +' option').each(function(index)
                    $('#city').append($(this).html());
                );
                $('#city').prepend("<option value='0' selected='selected'>Tutte le città</option>");
            
         );
    

在哪里收集所有这些带有 php 字符串的 javascript 函数的最佳位置? - JS 文件(但我调用它时必须传递 php 字符串) - 助手(但如何?) - 文件 php,其中声明函数 JS,如 common.php(但放在哪里以及如何调用它?)

您对我的范围有什么解决方案吗? 谢谢

【问题讨论】:

【参考方案1】:

如果您需要对这些脚本进行分组,您可以制作一个常规的 .js 文件,但修改函数参数 - 使 PHP 发送的所有值实际上都成为函数参数。 所以,例如,

function change_city_by_nation(nation_id)...

变成

function change_city_by_nation(url_from_php, nation_id)... 等等...

当然,之后您需要修改函数体和函数调用(从视图中)。

但是,如果您有一个仅在单个页面上使用的函数,那么将 JS 函数留在那里并像您在示例中所做的那样嵌入 PHP 值是完全可以接受的。

【讨论】:

谢谢我认为这是我的目的更实用的方式。感谢您的回答 +1【参考方案2】:

在您的&lt;head&gt;(或主 JS 文件之前的某个位置)中创建一个引用基本 URL 或 JS 所需的由后端生成的其他常见变量的 JS 变量是一种常见的做法。

<script>
var SITE_URL = "<?php echo site_url(); ?>";
</script>

然后,您的 Javascript 文件将包含在您的 &lt;body&gt; HTML 源代码的末尾,并且它可以在必要时利用这些变量。

如何生成初始变量取决于您在应用程序中处理模板的方式。一个共同的页眉/页脚将使整个过程更容易。

【讨论】:

以上是关于codeigniter 常用js php代码放在哪里的主要内容,如果未能解决你的问题,请参考以下文章

在 codeigniter 中未访问 home.php

js文件放在哪里好?

CodeIgniter 连接表

插件在 CodeIgniter 中不起作用

CodeIgniter - 加载视图问题

ThinkPHP后台代码一般放在哪几个文件夹