如何在js文件中使用codeigniter base_url()动态一个url

时间:2017-01-11 16:34:55

标签: javascript php codeigniter url base-url

我想在js文件中动态加载一个url。我在head.js文件中使用了下面的代码,但它没有获取url。如果我使用静态然后它很好地工作。我无法找到问题所在。

Personal VPN

2 个答案:

答案 0 :(得分:1)

如果你想在纯JS文件中获得base_url()。以下可能是正确的方法......

1.在html(PHP)中创建一个隐藏类型的输入字段,其值为base_url.As

<input type="hidden" id="url" value="<?php echo base_url();?>">

2.然后在您的纯JS文件中,例如head.js。获取base_url,如下所示。

<script>
var base_url = $("#url").val();//it gives base_url
head.js(base_url+"assets/js/newsticker/jquery.newsTicker.js", function() {
    var nt_title = $('#nt-title').newsTicker({
        row_height: 18,
        max_rows: 1,
        duration: 5000,
        pauseOnHover: 0
    });
});
</script>

注意:在codeigniter中不要忘记加载url帮助以使用base_url()

答案 1 :(得分:1)

您无法在JavaScript文件中使用<?php echo base_url(); ?>

如果您想动态获取网址,可以使用window.location.origin

var url = window.location.origin;
  

变量url将打印为base_urlhttps://stackoverflow.com

     

子域名的打印方式如下:https://subdomain.stackoverflow.com

因此,只需将<?php echo base_url(); ?>更改为url+并在资产之前添加/,例如:

head.js(url+"/assets/js/newsticker/jquery.newsTicker.js", function() {
    var nt_title = $('#nt-title').newsTicker({
        row_height: 18,
        max_rows: 1,
        duration: 5000,
        pauseOnHover: 0
    });
});

希望得到这个帮助。