我想在最后/
之后和查询字符串之前获取网址的一部分。
到目前为止,我已经拥有了URL的最后一部分,但我无法从URL中删除查询字符串。
Javascript:
<script type='text/javascript'>
var url = window.location.href;
var array = url.split('/');
var lastsegment = array[array.length-1];
document.write(lastsegment);
</script>
网址的结构如下:
http://www.example.com/search/People?&results=latest
我只需要People
部分。在上面的Javascript中怎么可能呢?
或者有更好的方法吗?
答案 0 :(得分:4)
尝试使用window.location.pathname
代替window.location.href
。它只获取服务器名称和查询字符串之间的文本(在您的情况下为"/search/People"
):
var last_part = window.location.pathname.split('/').pop();
您可以详细了解pathname
here。
答案 1 :(得分:2)
答案 2 :(得分:2)
您的代码做了正确的事情,您可以通过修改它来删除查询字符串;
var lastsegment = array[array.length-1];
if(lastsegment.indexOf('?'))
lastsegment = lastsegment.split('?')[0];
<强>更新强> 如果根本没有嵌入查询字符串,则处理这种情况。
答案 3 :(得分:1)
如果您要解析来自window.location
以外的其他来源的网址:
var test = 'http://www.example.com/search/People?&results=latest';
var parts = test.split('/');
lastPart = parts[parts.length-1].split('?')[0];
lastPart
现在是&#34;人物&#34;