如何可靠地将base_url从Codeigniter传递到JavaScript?

如何可靠地将base_url从Codeigniter传递到JavaScript?,javascript,php,codeigniter,base-url,Javascript,Php,Codeigniter,Base Url,我正在使用Codeigniter 3.1.8和Bootstrap 4开发一个基本的博客应用程序 这些帖子有评论。当然,还有删除注释的功能。它通过(jQuery)AJAX进行操作: 在某些情况下,在JavaScript中获取基本URL的方式存在问题:var baseUrl=window.location.origin。只有当博客平台在网站(域)的根目录下运行时,它才起作用 如果相反,我让它在https://mywebsite.com/blog我需要使用: var baseUrl = window.

我正在使用Codeigniter 3.1.8和Bootstrap 4开发一个基本的博客应用程序

这些帖子有评论。当然,还有删除注释的功能。它通过(jQuery)AJAX进行操作:

在某些情况下,在JavaScript中获取基本URL的方式存在问题:
var baseUrl=window.location.origin。只有当博客平台在网站(域)的根目录下运行时,它才起作用

如果相反,我让它在
https://mywebsite.com/blog
我需要使用:

var baseUrl = window.location.protocol + '//' + window.location.hostname + '/' + window.location.pathname.split('/')[1] + '/';
由于这是一个可以同时在上述情况和其他情况下工作的平台,因此我需要为变量
baseUrl
提供一个更“通用的公式”


我可以从Codeigniter“借”它吗?如果是,如何进行

您可以在页脚中添加隐藏的输入,如

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

您可以在页脚中添加隐藏的输入,如

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

您可以在页脚/页眉/页面[查看文件]中声明全局变量,如

<script>var baseUrl = '<?= base_url(); ?>';</script>
var baseUrl='';

在任何需要的地方使用
baseUrl

您可以在页脚/页眉/页面[查看文件]中声明全局变量,如

<script>var baseUrl = '<?= base_url(); ?>';</script>
var baseUrl='';

在需要的任何地方使用
baseUrl

设置正确的路由,而且,在为AJAX请求构建url选项时,我不会使用base\u url。这是无用的部分。
baseUrl=''
有什么问题?@Vickel的评论实际上是设置正确路由的唯一合乎逻辑的方法,而且,我在为AJAX请求构建url选项时没有使用base\u url。这是无用的部分。
baseUrl='
有什么问题?@Vickel的评论实际上是唯一合乎逻辑的方法