将参数插入Web URL

时间:2018-04-17 13:55:04

标签: javascript html url url-routing

我需要生成以下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

但这导致以下网址:

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

然而:

1)fvf param位于URL的错误位置

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

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

1 个答案:

答案 0 :(得分:0)

一种方法是使用javascript来完成它。在提交时,您调用javascript函数而不是提交表单。

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