我正在尝试将变量从主页传递到外部JS文件。请看我的代码。
主页:
<script type="text/javaScript">
$(document).ready(function(){
var add_project_link="<?= base_url().'add_project/show_form'; ?>";
var add_agent_link="<?= base_url().'agent/add_agent';?>";
});
</script>
外部JS
$(document).ready(function(){
alert(add_project_link);
alert(add_agent_link);
});
我得到了:
未捕获的referenceError未定义add_project_link。
我认为外部JS会捕获主页中声明的变量。有什么想法吗?非常感谢!
答案 0 :(得分:12)
在之前调用外部JavaScript文件,使用PHP定义变量:
<script type="text/javascript">
var site_url = '<?php echo site_url(); ?>';
var current_url = '<?php echo current_url(); ?>';
</script>
<script type="text/javascript" src="file.js"></script>
在外部file.js中,您现在可以使用site_url
作为变量。
答案 1 :(得分:5)
将您生成的php生成的变量从文档中取出。由于关闭了
中的就绪事件功能,因此无法在代码中的任何其他位置访问它们答案 2 :(得分:3)
我要做的是将这些变量存储到以后由JS轻松调用的内容中。
<input type="hidden" id="hidden_var" value="<?= base_url().'add_project/show_form'; ?>" />
var add_project_link = $('#hidden_var').val();
答案 3 :(得分:2)
你只需写入头标记
<script type="text/javaScript">
var add_project_link="<?= base_url().'add_project/show_form'; ?>";
var add_agent_link="<?= base_url().'agent/add_agent';?>";
</script>
然后在上面的脚本
之后加载外部JS答案 4 :(得分:2)
最好的方法是将这些路径存储在某些标签中,例如
<span id="site_url" style="display:none;"><?php echo site_url(); ?></span>
<span id="current_url" style="display:none;"><?php echo current_url(); ?></span>
然后你可以使用像
这样的jquery来访问它$('#site_url').html();
$('#current_url').html()
答案 5 :(得分:1)
最简单的方法是将脚本放入php页面上的脚本标记
你可以沿着URL字符串变量路由,但我认为这是不必要的