Javascript 是否传递url参数而不带问号和等号?
我正在使用javascript从浏览器中检索url参数,并将其传递给运行sockets.io的服务器。它的工作原理完全符合预期,但我想在不需要问号或等号的情况下获取参数 我希望它是:Javascript 是否传递url参数而不带问号和等号?,javascript,jquery,html,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
/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);
}
谢谢 当然可以获取url
window.location.href
返回url的完整路径。您可以使用.split('/')
因此windows.location.href.split('/')
将为您提供一个字符串数组,其中每个元素都是url的不同部分。例如,在example.com/page/var1/var2
上运行它将为您提供一个数组[“example.com”、“page”、“var1”、“var2]”。
请记住,您的服务器仍然需要知道如何将请求路由到example.com/page/var1/var2。因此,如果var1和var2是变量,例如.com/page,您的服务器需要知道如何为example.com/page提供服务。您能否共享当前用于获取url参数的代码?发布当前代码?使用#如何?发布代码。当然,您可以这样做。研究SPA如何使用“shebang”URL进行路由。看,我想这就是我刚才忽略的逻辑。。非常感谢。
var urlParam = location.search.split("var=")[1];
var mapObj = {
"?":"",
"=":"-"
};
urlParam = urlParam.replace(/(\?|=)/g, function (matched) {
return mapObj[matched];
});