将参数插入 web URL

Insert a parameter into web URL

我需要生成以下 URL 端点以与第三方应用程序一起使用:

https://webpage/search?s.q=<searchResult>#!/search?ho=t&fvf=IsFullText,true,f&l=en&q=<searchResult>

目前我的 JSP 代码:

<form id="summon_form" method="GET"  action="//webpage" target="_blank" _lpchecked="1" onsubmit="doubleSubmit.allowSubmitAgainForForm(this); return true;">     
   <input type="text" onchange="${gooEvent}" id="srchRes" title="SearchResult" onfocus="if (this.value == 'Search Result') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Search Result';}" name="s.q" value="Search Result" >       
   <input id="searchSubmit" value="Go" type="submit">               
</form>

产生以下结果:

https://webpage/search?s.q=<searchResult>#!/search?ho=t&l=en&q=<searchResult>

我已经尝试使用隐藏输入来创建输入参数字符串:

fvf=IsFullText,true,f

但这会导致以下结果 URL:

https://webpage/search?s.q=Biomechanics&fvf=IsFullText%2Ctrue%2Cf#!/search?ho=t&l=en&q=Biomechanics

但是:

1) URL

中的错误位置的 fvf 参数

2) 参数值中的两个逗号被编码为 %2C 并且需要是逗号而不是 URL 编码值。

我的问题:我应该如何解决这个问题,JavaScript?

一种方法是使用 javascript。在提交时调用 javascript 函数而不是提交表单。

然后您可以完全按照您想要的方式构建您的 url 并按照您希望的方式对其进行编码。