在查询字符串参数中具有与号

Having an ampersand in a querystring parameter

本文关键字:查询 字符串 参数      更新时间:2023-09-26

我对javascript有点陌生,我遇到了一个小问题:

我正在尝试重定向到javascript中的页面(然后执行重定向)。我这样设置window.location

window.location = "./RedirectPage.aspx?ReturnUrl=page.aspx?key=val&key2=val2";

现在,在 RedirectPage 上.aspx当它尝试重定向到我作为 ReturnUrl 传入的页面时,它会将 key2=val2 解析为 RedirectPage 的另一个查询字符串参数,而不是 ReturnUrl。

它这样做是有道理的,但这不是我想做的......知道我该如何解决这个问题吗?

你想要对 ReturnUrl 查询字符串进行 URL 编码。

window.location = "./RedirectPage.aspx?ReturnUrl="+encodeURIComponent("page.aspx?key=val&key2=val2");

试试这个:

window.location = "./RedirectPage.aspx?"+encodeURIComponent("ReturnUrl=page.aspx?key=val&key2=val2")

您需要转义与号(用于查询字符串)。