Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Struts2以字符串形式传递url_Javascript_Struts2 - Fatal编程技术网

Javascript Struts2以字符串形式传递url

Javascript Struts2以字符串形式传递url,javascript,struts2,Javascript,Struts2,我使用javascript函数来提交表单,在javascript函数中,我指定form.action=“Struts2 url goes here” 以下是我的代码片段: var form = document.forms['myForm']; if (form != null) { var backURL = "ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue"; form.action="Ac

我使用javascript函数来提交表单,在javascript函数中,我指定
form.action=“Struts2 url goes here”

以下是我的代码片段:

var form = document.forms['myForm'];
if (form != null) {
    var backURL = "ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue";
    form.action="ActionA!someMethodA.action?Aparam1=somevalue&Aparam2=" + backURL;
    form.submit();
}
问题在于,在动作方法
someMethodA
中,
Aparam2
的值总是被
backURL
中的第一个符号和切断

我试图用这样的引号将
backURL
括起来
form.action=“ActionA!someMethodA.action?Aparam1=somevalue&Aparam2=”+backURL+”但它不起作用。这让我觉得
backURL
的值不是作为一个整体处理的,而是经过解析的


我想知道是否有办法解决这个问题。

如果您想在url中使用一个包含特殊字符的参数,那么应该对其进行url编码

var backURL = encodeURIComponent("ActionB!someMethodB.action?Bparam1=somevalue&Bparam2=somevalue");
此外,URL的硬编码值可以在带有标记的服务器上构建

var backURL=encodeURIComponent(“”);

在这种情况下,默认情况下
&
转义为
&但转义值通常用于浏览器。

帮助很多。非常感谢。
var backURL = encodeURIComponent('<s:url action="ActionB" method="someMethodB"><s:param name="Bparam1" value="somevalue"/><s:param name="Bparam2" value="somevalue"/></s:url>');