Fly*_*Cat 16 javascript jquery codeigniter
我只是想知道是否可以使用包含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)
})
})
})
Run Code Online (Sandbox Code Playgroud)
我的观点页面
<script type="text/javascript" src="<?= base_url();?>js/external.js"></script>
Run Code Online (Sandbox Code Playgroud)
JS不起作用,因为我认为JS中的PHP代码是问题所在.有什么想法吗?非常感谢.
Jui*_*ter 22
您可以通过将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>
Run Code Online (Sandbox Code Playgroud)
比你的内容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);
})
})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
28516 次 |
| 最近记录: |