我有一个类似于https://<domainname>/popup.jsp?sitekey=7-8&type=popup的URL,请求参数字符串(sitekey=7-8&type=popup)是动态形成的,然后附加到请求URL,然后提交一个AJAX请求。在将请求参数字符串附加到URL之前,我们使用JS的转义()函数。所以就像:
var URL=/popup.jsp?;
var reqVal="sitekey=7-8";
reqVal=reqVal+"&type=popup";
URL=URL+escape(reqVal);因此,URL实际上是作为
/popup.jsp?sitekey%3D7-8;amp&type%3Dpopup在servlet中,当循环请求参数名时,我得到的参数名为sitekey%3D7-8,而不仅仅是sitekey,因此当我试图使用request.getParameter(" sitekey ")获取sitekey值时,我的代码中断了。
请帮助我如何解码URL,以便我得到的请求参数名称是正确的。
发布于 2015-12-02 07:40:01
使用escape代替encodeURI。
转义()函数在JavaScript版本1.5.中被废弃。
有什么关系?
escape -中断,不推荐,不要使用,编码所有字符。
encodeURI -对URL中不允许(raw)的字符进行编码(如果不能事先修复它们,则使用它来修复已损坏的URI)
https://stackoverflow.com/questions/34037189
复制相似问题