在joomla php中,我可以使用$this->baseurl来获得基本路径,但我想在jquery中获得基本路径。

基本路径可以是以下示例中的任意一个:

http://www.example.com/
http://localhost/example
http://www.example.com/sub/example

例子也可能改变。


当前回答

把它放在你的标题中,这样当你需要它的时候就可以使用了。

var base_url = "<?php echo base_url();?>";

您将得到http://localhost:81/your-path-file或http://localhost/your-path-file。

其他回答

var getUrl = window.location;
var baseUrl = getUrl .protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];
var getUrl = window.location;
var baseurl = getUrl.origin; //or
var baseurl =  getUrl.origin + '/' +getUrl.pathname.split('/')[1]; 

但你不能说CodeIgniter(或php joomla)的baseurl()将返回相同的值,因为可以更改这些框架的.htaccess文件中的baseurl。

例如:

如果你在本地主机上有一个。htaccess文件:

RewriteEngine on
RewriteBase /CodeIgniter/
RewriteCond $1 !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]

$this->baseurl()将返回http://localhost/CodeIgniter/

更简单的答案在这里,window。location。href = window。location。origin;

我在几个Joomla项目中遇到过这种需求。我发现的最简单的方法是在模板中添加一个隐藏的输入字段:

<input type="hidden" id="baseurl" name="baseurl" value="<?php echo $this->baseurl; ?>" />

当我需要的值在JavaScript:

var baseurl = document.getElementById('baseurl').value;

不像使用纯JavaScript那样花哨,但很简单,可以完成工作。

有同样的问题前一段时间,我的问题是,我只是需要基础url。这里有很多详细的选项,但要解决这个问题,只需使用窗口。位置的对象。实际上,在浏览器控制台中输入这个,然后按enter键选择你的选项。我的情况很简单:

window.location.origin