5

如果我当前的页面是这种格式...

http://www.mydomain.com/folder/mypage.php?param=value

有没有简单的方法来得到这个

http://www.mydomain.com/folder/mypage.php

使用 javascript?

4

5 回答 5

6

不要做这个正则表达式和拆分东西。使用浏览器的内置 URL 解析器。

window.location.origin + window.location.pathname

如果您需要解析不是当前页面的 URL:

var url = document.createElement('a');
url.href = "http://www.example.com/some/path?name=value#anchor";
console.log(url.origin + url.pathname);

并支持 IE(因为 IE 没有location.origin):

location.protocol + '//' + location.host + location.pathname;

(灵感来自https://stackoverflow.com/a/6168370/711902

于 2013-08-14T04:44:24.537 回答
3

尝试使用split喜欢

var url = "http://www.mydomain.com/folder/mypage.php?param=value";
var url_array = url.split("?");
alert(url_array[0]);    //Alerts http://www.mydomain.com/folder/mypage.php

即使我们在 中有很多参数,GET第一段URL没有GET参数的。

这是演示

于 2013-08-14T04:37:07.450 回答
2

试试这个:

var url=document.location.href;
var mainurl=url.split("?");
alert(mainurl[0]);
于 2013-08-14T04:44:56.773 回答
0

尝试

var result = yourUrl.substring(0, yourUrl.indexOf('?'));

工作演示

于 2013-08-14T04:37:35.530 回答
0
var options = decodeURIComponent(window.location.search.slice(1))
     .split('&')
     .reduce(function _reduce (/*Object*/ a, /*String*/ b) {
     b = b.split('=');
     a[b[0]] = b[1];
     return a;
   }, {});
于 2013-08-14T04:44:33.667 回答