我在点击按钮时通过javascript提交表单并将其重定向到另一个网址。
我用来提交和重定向的代码如下:
function SelectorSubmitOld(targetUrl) {
var f = jQuery('form').get(0);
jQuery("#__VIEWSTATE").remove();
f.action = targetUrl;
f.submit();
}
坦率地说这个方法是由其他开发人员开发的,我不知道上面的方法是做什么的,因为我的javascript知识有限。
我在这个例子中传递的targetUrl
是"/home-loans/interest-rates/"
但是当处理完成并加载最终页面时,url包含“?”。所以我的最终网址变为"/home-loans/interest-rates/?"
“?”是不可取的,我想骑它。
有什么想法吗?
P.S。:之前我的几个输入字段附加了属性name
。因此,url会根据此属性附加值。
例如,如果输入为<input type="text" class="mobile_number" name="mobile-number">
,则使用该网址成为"/home-loans/interest-rates/?mobile-number="
。
但是一旦我删除了name属性就没问题了。然而 ”?”仍然存在。
后端是asp.net,所以你应该知道。
答案 0 :(得分:2)
这是因为您使用GET
方法提交表单
您可以改为使用POST
方法:
<form method="POST"></form>
但是,您似乎不想使用此表单提交任何数据
如果我是对的,那么您只需使用document.location.href
即可导航到另一个页面:
document.location.href = targetUrl;
答案 1 :(得分:1)
如果您不想发送任何查询参数以及网址,可以添加方法=&#34; POST&#34;到表单元素,像这样
jQuery('form').attr('method', 'POST')