Javascript 防止提交表单的字符串中的编码字符
我有以下Javascript:Javascript 防止提交表单的字符串中的编码字符,javascript,Javascript,我有以下Javascript: var form = document.createElement("form"); form.method = "post"; form.action = "${pageContext.request.contextPath}/login?action=login"; form.id = "loginForm"; 我还有一个按钮提交上面的表单,问题是提交通过用ASCII码替换括号{和}来启动链接。在我的浏览器中,显示为: "$%7Bpa
var form = document.createElement("form");
form.method = "post";
form.action = "${pageContext.request.contextPath}/login?action=login";
form.id = "loginForm";
我还有一个按钮提交上面的表单,问题是提交通过用ASCII码替换括号{和}来启动链接。在我的浏览器中,显示为:
"$%7BpageContext.request.contextPath%7D/login?action=login"
…而不是:
"${pageContext.request.contextPath}/login?action=login"
我的问题是:
如何强制浏览器将%7B和%7D分别替换为{和}?
如何使提交启动解码链接?
我发现了问题所在: ${pageContext.request.contextPath} 因为它在JavaScript文件中,而不是jsp中的变量中,所以被逐字解释。我声明了一个变量rootPath=${pageContext.request.contextPath}及其后
"form.action = rootPath + "/login?action=login";"
现在一切都正常了。我想你希望在启动之前对动作进行解码?否则,URL只是变量名。您确实希望URL是http://example.com/${pageContext.request.contextPath}/login?action=login?启动链接的确切含义是什么?form.action=${pageContext.request.contextPath}+/login?action=login;您可能需要这样的东西,其中变量是连接在一起的,而不是在quoteSprety中。请确保应该在服务器端对其进行解析。。。