2014-02-21 74 views
1

我想在最後的/之後和查詢字符串之前獲取URL的一部分。拆分URL和查詢字符串

到目前爲止,我有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> 

URL的結構是這樣的:

http://www.example.com/search/People?&results=latest

我只需要People部分。在上面的Javascript中怎麼可能呢? 或者有沒有更好的方法來做到這一點?

+0

這是我在SO –

回答

4

嘗試使用的window.location.pathname代替window.location.href。它只有服務器名稱和查詢字符串(這是"/search/People"你的情況)之間的文本:

var last_part = window.location.pathname.split('/').pop(); 

你可以閱讀更多關於pathnamehere

+0

謝謝,它的工作! – yaqoob

2

閱讀Window.location

window.location.pathname.split('/').pop(); 

.pop()

+0

上看到的最常見的js問題之一最後一部分可能不是數組的第3項。 –

+0

而你的解決方案與我的非常相似。 –

+1

謝謝Tushar,我知道它的工作... – yaqoob

1

如果要分析從其他產地的URL比window.location

var test = 'http://www.example.com/search/People?&results=latest'; 

var parts = test.split('/'); 
lastPart = parts[parts.length-1].split('?')[0]; 

lastPart現在是「人」

2

你的代碼做正確的事,你可以通過修改刪除查詢字符串它位爲;

var lastsegment = array[array.length-1]; 
if(lastsegment.indexOf('?')) 
    lastsegment = lastsegment.split('?')[0]; 

UPDATE: 爲了如果有嵌入完全沒有查詢字符串處理的情況。