Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将PHP值传递到外部JavaScript文件_Php_Javascript_Jquery_Codeigniter_Parameters - Fatal编程技术网

如何将PHP值传递到外部JavaScript文件

如何将PHP值传递到外部JavaScript文件,php,javascript,jquery,codeigniter,parameters,Php,Javascript,Jquery,Codeigniter,Parameters,我正在尝试将我的变量从主页传递到外部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';?>"; }); </

我正在尝试将我的变量从主页传递到外部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会捕获主页中声明的变量。有什么想法吗?非常感谢

最简单的方法是将脚本放入php页面上的脚本标记中


您可以使用URL字符串变量路径,但我认为没有必要这样做,最简单的方法是将脚本放入php页面上的脚本标记中


您可以使用URL字符串变量路径,但我认为这是不必要的

在调用外部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>

var site_url='';
var current_url='';

在external file.js中,您现在可以使用
site\u url
作为变量。

在调用外部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>

var site_url='';
var current_url='';

在external file.js中,您现在可以使用
site\u url
作为变量。

将php生成的变量从文档中取出。由于它们所在的ready event函数的关闭,它们在代码中的任何其他地方都无法访问。请将php生成的变量从document ready中取出。由于它们所在的ready event函数的关闭,它们在代码中的任何其他地方都无法访问。我要做的是将这些变量存储到JS稍后很容易调用的地方

<input type="hidden" id="hidden_var" value="<?= base_url().'add_project/show_form'; ?>" />

var add_project_link = $('#hidden_var').val();

我要做的是将这些变量存储到JS稍后很容易调用的东西中

<input type="hidden" id="hidden_var" value="<?= base_url().'add_project/show_form'; ?>" />

var add_project_link = $('#hidden_var').val();

您只需在head标记中写入

<script type="text/javaScript">    
var add_project_link="<?= base_url().'add_project/show_form'; ?>";
var add_agent_link="<?= base_url().'agent/add_agent';?>";
</script>

var add_project_link=“”;
var add_agent_link=“”;

然后在上面的脚本之后加载外部JS,您只需在head标记中写入

<script type="text/javaScript">    
var add_project_link="<?= base_url().'add_project/show_form'; ?>";
var add_agent_link="<?= base_url().'agent/add_agent';?>";
</script>

var add_project_link=“”;
var add_agent_link=“”;

然后在上面的脚本之后加载外部JS,最好的方法是将这些路径存储在一些标记中,如

<span id="site_url" style="display:none;"><?php echo site_url(); ?></span>
<span id="current_url" style="display:none;"><?php echo current_url(); ?></span>

最好的方法是将这些路径存储在一些标记中,如

<span id="site_url" style="display:none;"><?php echo site_url(); ?></span>
<span id="current_url" style="display:none;"><?php echo current_url(); ?></span>

我认为您应该使用它
echo
而不是
return
使此代码工作我认为您应该使用它
echo
而不是
return
使此代码工作不要在jQuery的
$(文档)中定义JavaScript变量。ready(function(){})在主页上。关键是在调用jQuery的外部文件之前定义它们。看看我的答案。不要在jQuery的
$(document.ready(function(){})中定义JavaScript变量在主页上。关键是在调用jQuery的外部文件之前定义它们。看看我的答案,这就是我的答案。不过运气不好+这就是我所拥有的。不过运气不好+1虽然此技术可以根据需要工作,但此建议可能会不必要地使用其他不必要的元素/节点膨胀DOM。虽然此技术可以根据需要工作,但此建议可能不必要地使用其他不必要的元素/节点膨胀DOM。