我在HTML页面中有几个JS,如果我在HTML视图文件中使用这个,那么它的工作很好,我的页面提交表单正确没有任何问题。
但是当我将这个JS代码移动到外部JS文件时,它显示错误,
下面是我的JS$("#user_fm").submit(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>index.php/admin/peoples/add_user",
data: $("#user_fm").serialize(),
-----
我的问题对我来说很清楚,在视图页这很容易被解码到我的url
"<?php echo base_url(); ?>index.php/admin/peoples/add_user"
但是当我把它保存在JS文件中,它显示如下在控制台,
POST http://localhost/center/index.php/admin/peoples/%3C?php%20echo%20base_url();%20?%3Eindex.php/admin/peoples/add_user
我们如何把PHP代码在JS文件?
为了能够在html或javascript代码中嵌入PHP,如<?php echo base_url();?>
,文件必须具有.php
扩展名,而您的外部javascript文件肯定具有.js
扩展名。.js
文件由浏览器解析,PHP文件必须在服务器端执行。
你能做的是首先在内联javascript中定义一个变量,然后在外部.js
文件的代码中使用它。在index.php或任何你使用的主文件中,在使用外部js代码之前放置这个:
<script type="text/javascript">
var baseURL = "<?php echo base_url(); ?>";
</script>
然后在外部代码中:
$("#user_fm").submit(function (event) {
event.preventDefault();
$.ajax({
type: "POST",
url: baseURL + "index.php/admin/peoples/add_user",
data: $("#user_fm").serialize(),
-----
显然你不能访问。您需要打开apache服务,以便php可以读取您的基础URL