Java jQuery地址-表单提交后重定向
我使用jQuery和AJAX将链接和表单中的内容加载到content div中。此外,我还使用Address插件启用back按钮和刷新。在服务器端,我使用Java和SpringMVC 因为我使用的是jQuery地址和AJAX,所以唯一直接加载的页面是index.html。其他所有内容都加载到内容div中,要加载的页面在哈希中指定,即index.html/users/add.html将加载users/add.html 现在,users/add.html包含一个用于创建新用户的表单。当表单提交并且一切正常时,控制器重定向到users/index.html。问题是jQuery地址不知道重定向,因此url将保持index.html/users/add.html。这是一个问题,当你刷新页面,然后被发送回表单,而不是索引页面 有办法解决这个问题吗 谢谢,Java jQuery地址-表单提交后重定向,java,jquery,forms,deep-linking,Java,Jquery,Forms,Deep Linking,我使用jQuery和AJAX将链接和表单中的内容加载到content div中。此外,我还使用Address插件启用back按钮和刷新。在服务器端,我使用Java和SpringMVC 因为我使用的是jQuery地址和AJAX,所以唯一直接加载的页面是index.html。其他所有内容都加载到内容div中,要加载的页面在哈希中指定,即index.html/users/add.html将加载users/add.html 现在,users/add.html包含一个用于创建新用户的表单。当表单提交并且一
斯蒂安首先,我这样开始我的表格:
$('FORM').submit(function () {
shareData = $(this).serializeArray();
$.address.value($(this).attr('action'));
})
$.address.change(function(event) {
if (event.path != '/' && event.parameters.layout_to_use != undefined) {
// if no json, load don't do a post request
shareData = _arrayToJson(shareData);;
$('#areatoreload')
.html('<span style="background-color:red;">loading...</span>')
.load('myscript.php', shareData, function() {});
}
return false;
});
在我的变更方法中有如下内容:
$('FORM').submit(function () {
shareData = $(this).serializeArray();
$.address.value($(this).attr('action'));
})
$.address.change(function(event) {
if (event.path != '/' && event.parameters.layout_to_use != undefined) {
// if no json, load don't do a post request
shareData = _arrayToJson(shareData);;
$('#areatoreload')
.html('<span style="background-color:red;">loading...</span>')
.load('myscript.php', shareData, function() {});
}
return false;
});
我用同样的方式管理我的链接。我希望它能帮助你。shareData不是一个很好的方法,但我目前没有找到其他方法。这段代码没有经过测试,我只是提取了自己代码的一部分。看看新表单示例。这是非常基本的,但可能是可用的。 在您的情况下,您将无法使用$'form'。address函数,因为您希望在服务器响应返回后更改地址 您可以使用data.redirect属性检测潜在的响应重定向:
我意识到我对问题的描述不是最好的,对此表示歉意 我在另一个问题中重新设计了这个问题,没有得到答案,但我自己找到了解决办法
如果在表单提交后执行重定向,那么在ajax中执行表单提交有什么意义?