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】:在您的<head>
(或主 JS 文件之前的某个位置)中创建一个引用基本 URL 或 JS 所需的由后端生成的其他常见变量的 JS 变量是一种常见的做法。
<script>
var SITE_URL = "<?php echo site_url(); ?>";
</script>
然后,您的 Javascript 文件将包含在您的 <body>
HTML 源代码的末尾,并且它可以在必要时利用这些变量。
如何生成初始变量取决于您在应用程序中处理模板的方式。一个共同的页眉/页脚将使整个过程更容易。
【讨论】:
以上是关于codeigniter 常用js php代码放在哪里的主要内容,如果未能解决你的问题,请参考以下文章