我试图在网址中捕获值:
www.domain.com/foo/bar#/15%22|24%22
我想:15%22 | 24%22
我使用的是window.location.hash.split('#')[1]
,它抓取数据,然后我想对其进行解码。
var pageType = window.location.hash.split('#') [1];
return decodeURIComponent(pageType);
这将返回15" | 24"这就是我想要的。当我在Google Chrome控制台中对此进行测试时,出现了#34;非法返回语句"的语法错误....也许这不是以这种方式进行测试的正确方法。我错过了什么,还是应该以不同的方式处理?
答案 0 :(得分:0)
如果您在函数内部,则只能使用return
。如果你只是直接运行这些行,那么你就不在可以返回的任何行中。
您应始终使用浏览器的开发工具窗口(F12
)。打开开发工具后,您可以单击“控制台”选项卡。此窗口将始终显示您的JavaScript错误,但它也可以用作写入消息以进行调试的窗口。 console.log(message)
是您将消息写入该窗口的方式。如果您查看下面的示例代码,您将看到我正在向控制台写出操作结果。
此代码有效:
var test = "www.domain.com/foo/bar#/15%22|24%22";
var pageType = test.split('#')[1];
// Remove the leading slash
pageType = pageType.substr(1,pageType.length-1);
console.log(decodeURIComponent(pageType));