外部js文件中的PHP基本URL

时间:2015-05-18 12:18:35

标签: javascript php jquery html

我在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文件中?

2 个答案:

答案 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)

显然你无法访问。 使用XXAMP运行脚本您需要打开apache服务,以便php可以读取您的基本URL