传递没有问号和等号的网址参数?

时间:2017-04-21 17:27:43

标签: javascript jquery html

我正在使用javascript从浏览器中检索url参数并将其传递给运行sockets.io的服务器。它完全按预期工作,但我想抓住参数而不需要问号或等号。

而不是/?var=我希望它是:/var-/var_等。

有没有一种很好的方法可以在没有服务器端URL重写的情况下完成此任务?

当前代码:

var urlParam = location.search.split("var=")[1]; // get the url parameter http://localhost/?var=[some url parameter value]

if (urlParam == null) {  
    socket.emit('newRoom'); 
} else { 
    socket.emit('urlParam', urlParam); 
}

谢谢!

2 个答案:

答案 0 :(得分:2)

当然可以抓住网址。

window.location.href返回网址的完整路径。您可以使用.split('/')

拆分它

所以windows.location.href.split('/')会给你一个字符串数组,其中每个元素都是url的不同部分。例如,在example.com/page/var1/var2上运行它会为您提供一个数组["example.com", "page", "var1", "var2"].

请记住,您的服务器仍需要知道如何将请求发送到example.com/page/var1/var2。因此,如果var1和var2是example.com/page的变量,那么您的服务器需要知道如何提供example.com/page。

答案 1 :(得分:0)

-korn -bash -tsh