我在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(),
-----
我的问题很明显,在视图页面中,这很容易被解码到我的网址
"<?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文件中?
答案 0 :(得分:9)
为了能够在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(),
-----
答案 1 :(得分:1)