我正在使用 codeigniter 2,我的主题文件夹由js、img、css文件夹组成。
在js文件夹内,文件名为js_functions.php包含:
<?php header("Content-type: text/javascript"); ?>
/**
 * GLOBAL VARIABLES & PATHS
 *
 * path definitions for jquery inline usage
 *
 */     
var base_url         = '<?=base_url();?>';
// ------------------------------------------------------------------------
/**
 * jquery.message Global Implementation
 *
 * Shows message if any session flashdata named message is set
 *
 */
<?php if($this->session->flashdata('message')):?>
$(function() { $().message("<?=$this->session->flashdata('message');?>"); });
<?php endif; ?>
// ------------------------------------------------------------------------
并且,调用它查看文件
<script type="text/javascript" src="<?=base_url();?>themes/admin/js/js_functions.php"></script>
正确渲染。但它会在 chrome 的检查屏幕中返回:
var base_url         = '<br />
Uncaught SyntaxError: Unexpected token ILLEGAL
当您从地址栏调用页面时,在浏览器中:
var base_url         = '<br />
<b>Fatal error</b>:  Call to undefined function base_url() in <b>F:\xampp\htdocs\themes\js\js_functions.php</b> on line <b>11</b><br />
怎么了?这不是在外部 js/php 文件中使用 php 的正确方法吗?