外部js文件中的PHP基础URL


PHP base URL in external js file

我在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