jQuery 地址 - 表单提交后重定向
我使用 jQuery 和 AJAX 将链接和表单中的内容加载到内容 div 中。此外,我使用 Address 插件来启用后退按钮和刷新。在服务器端我使用 Java 和 Spring MVC。
由于我使用 jQuery Address 和 AJAX,直接加载的唯一页面是“index.html”。其他所有内容都加载到内容 div 中,并且在哈希中指定要加载的页面,即。 “index.html#/users/add.html”将加载“users/add.html”。
现在,“users/add.html”包含一个用于创建新用户的表单。当表单提交并且一切正常时,控制器重定向到“users/index.html”。问题是 jQuery Address 不知道重定向,因此 url 将保留“index.html#/users/add.html”。当您刷新页面然后返回到表单而不是索引页面时,这是一个问题。
有办法解决这个问题吗?
谢谢,
斯蒂安
I use jQuery and AJAX to load content from links and forms into a content div. In addition I use the Address plugin to enable the back button and refresh. On the server side I use Java and Spring MVC.
Since I'm using jQuery Address and AJAX the only page that is directly loaded is "index.html". Everything else is loaded into a content div, and what page to load is specified in the hash, ie. "index.html#/users/add.html" will load "users/add.html".
Now, "users/add.html" contains a form for creating a new user. When the form is submitted and everything went OK, the controller redirects to "users/index.html". The problem is that jQuery Address doesn't know about the redirect, so the url will remain "index.html#/users/add.html". And this is a problem when you refresh the page and then get sent back to the form, instead of the index page.
Is there a way to fix this problem?
Thanks,
Stian
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
看一下新的表单示例。这是非常基本的,但可能会有用。
http://www.asual.com/jquery/address/samples/form/< /a>
在您的情况下,您将无法使用 $('form').address() 函数,因为您需要在服务器响应返回后更改地址。
您可以使用 data.redirect 属性来检测潜在的响应重定向:
如何在 jQuery Ajax 之后管理重定向请求致电
Take a look at the new Form Sample. It's very basic but will be probably usable.
http://www.asual.com/jquery/address/samples/form/
In your case you won't be able to use $('form').address() function because you will want to change the address after the server response comes back.
You can use a data.redirect property to detect potential response redirects:
How to manage a redirect request after a jQuery Ajax call
我意识到我对问题的描述不是最好的,对此表示歉意。
我在另一个问题中重新表述了这个问题,没有得到答案,但我自己找到了解决方案。 :)
AJAX - 重定向后获取响应 URL
I realize my description of the problem wasn't the best, apologies for that.
I reformulated the problem in another question, got no answers but I found a solution myself. :)
AJAX - Get response URL after redirect
首先,我像这样初始化我的表单:
在我的更改方法中有类似的东西之后:
我以相同的方式管理我的链接。我希望它能帮助你。 shareData 不是一个很好的方法,但我暂时没有找到其他方法。这段代码没有经过测试,我只是提取了我自己代码的一部分。
First I init my form like that :
after I have in my change method something like that :
And i manage my link in the same way. I hope it can help you. shareData is not a very good way, but i don't find something else for the moment. this code is not tested, I just extract some part of my own code.