Javascript 如何在放置后使用一次性消息重定向
下面是我想要的行为:Javascript 如何在放置后使用一次性消息重定向,javascript,jquery,html,ajax,redirect,Javascript,Jquery,Html,Ajax,Redirect,下面是我想要的行为: 用户转到密码更改网页 用户填写表单并将表单放入我们的REST服务器 成功放置后,用户将被重定向到“我的帐户”页面,并显示一条消息:“密码已成功更改” 如果他们刷新“我的帐户”页面,密码信息就会消失。(即,这是一条一次性消息。) 以下是我尝试过(未成功)的解决方案: 1) 使用JQuery向REST服务器执行AJAX PUT。这对于PUT很好,但是重定向必须在onSuccess JavaScript中,如果它将URL上的消息传递到My Account页面,则该消息在刷新后挂起
有好的解决办法吗?或者我必须将我的PUT更改为POST吗?您可以使用传统的JavaScript表单进行PUT。唯一的诀窍是闪现一条临时消息。我见过一些web框架使用一种临时会话状态来处理这类事情,这对您来说不需要太多努力。如果您没有可用的会话,诀窍是在数据库中存储一个临时会话,并通过cookie引用它。这不是直截了当的,这就是为什么web框架在这种情况下可以真正帮助您 典型的设置如下所示:
$('form').submit(function () {
$.ajax({
url: 'service/api',
data: $('form').serialize(),
type: 'POST'})
.done(function () {
// perform redirect
});
在服务器端,您可以设置临时会话状态,并在完成时删除。您可以使用JavaScript使用传统表单进行PUT。唯一的诀窍是闪现一条临时消息。我见过一些web框架使用一种临时会话状态来处理这类事情,这对您来说不需要太多努力。如果您没有可用的会话,诀窍是在数据库中存储一个临时会话,并通过cookie引用它。这不是直截了当的,这就是为什么web框架在这种情况下可以真正帮助您 典型的设置如下所示:
$('form').submit(function () {
$.ajax({
url: 'service/api',
data: $('form').serialize(),
type: 'POST'})
.done(function () {
// perform redirect
});
在服务器端,您可以设置临时会话状态,并在完成时删除。我们没有一个框架来帮助我们完成这项工作,也许很遗憾。我将尝试一下建议的实现,看看它是否适合我们。谢谢。看起来我通过创建一个包含消息的cookie,然后显示消息的JSP删除了cookie,实现了这一点。谢谢你的帮助!不幸的是,我们没有一个框架来帮助我们解决这个问题。我将尝试一下建议的实现,看看它是否适合我们。谢谢。看起来我通过创建一个包含消息的cookie,然后显示消息的JSP删除了cookie,实现了这一点。谢谢你的帮助!