我试图通过单击a
HTML中的元素来使用post方法提交请求。但是,它始终会刷新当前页面,即使action
使用正确的值进行更新也是如此。
这就是我提交请求的方式。
$(function() {
$('.detail a').click(function() {
$('#cityId').val($(this).data('cid'));
$('#cityName').val($(this).data('cn'));
$('#parentIds').val($(this).data('pids'));
$('#cityForm').submit();
});
});
我将值传递给隐藏的元素,以便通过POST
method提交。在之前submit()
,我检查了一下,并且form的action属性是我想要的正确URL。但是,在此之后,它没有重定向到我设置的URL,而是刷新了当前页面。
这是a
我的代码中:
<a href data-cid="<c:out value='${cc.id}'/>" data-pids="<c:out value='${cc.type}'/>"
这是怎样form
的样子:
<form id="cityForm" method="post" action="<%=basePath%><c:out value='${sp}'/>">
它确实在IE中起作用。我在网上搜索,找到了一些解决方案,说它是由Chrome引起的,将它作为相同的请求,因此我需要在URL后添加一个时间戳,但对我不起作用。
如果您的链接具有空href
属性,它将成为当前页面的URL,因此,当您单击此类链接时,页面会刷新。如果要将某些动作绑定到a
element,则必须使用以下方法来防止其默认行为event.preventDefault()
:
$(function() {
$('.detail a').click(function(event) {
event.preventDefault();
$('#cityId').val($(this).data('cid'));
$('#cityName').val($(this).data('cn'));
$('#parentIds').val($(this).data('pids'));
$('#cityForm').submit();
});
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句