gpt4 book ai didi

javascript - 在外部 Javascript 文件中使用 PHP 代码

转载 作者:可可西里 更新时间:2023-11-01 01:23:03 28 4
gpt4 key购买 nike

我只是想知道是否可以使用包含 PHP 代码的外部 JS 文件。

我的外部 JS

$(document).ready(function(){

$('#update').click(function(){
var tableVal={};
// a bit of php code I need in JS
var search_city=<?php echo $_SESSION['search_city'];?>';
$.post('<?=base_url()?>/project_detail/pub', {'tableVal':tableVal},function(message)

})
})
})

我的浏览页面

<script type="text/javascript" src="<?= base_url();?>js/external.js"></script>

JS 不起作用,因为我认为 JS 中的 PHP 代码是问题所在。有什么想法吗?非常感谢。

最佳答案

您可以通过将 js 文件重命名为 php 并在 script 标签 src 中使用此链接来实现>(正如其他答案所指出的)

虽然这似乎是一种好而简单的方法,但有很多理由不这样做。

  • 缓存(您生成的脚本不会被缓存,这可能会更改但需要额外的工作)
  • 内存消耗(对此生成的 js 文件的每个请求都需要 php)

您可以简单地更改为这样的东西来完成它(以更好的方式,IMO):

<script type="text/javascript">
var Settings = {
base_url: '<?= base_url() ?>',
search_city: '<?= $_SESSION['search_city'] ?>'
}
</script>
<script type="text/javascript" src="<?= base_url();?>js/external.js"></script>

js 的内容变成了这样:

$(document).ready(function(){
// I assume that not using search_city in your sample code
// and some syntax errors, is just by mistake...
$('#update').click(function(){
var tableVal={search_city:Settings.search_city};
$.post(Settings.base_url+'/project_detail/pub',
{'tableVal':tableVal},
function(message){
console.log(message);
})
})
})

关于javascript - 在外部 Javascript 文件中使用 PHP 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9083089/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com