Html 如何将参数传递给GET web请求,而不使其在URL中可见?

Html 如何将参数传递给GET web请求,而不使其在URL中可见?,html,jquery,jsp,web,Html,Jquery,Jsp,Web,我正在构建一个web应用程序JavaSpringMVC、JSP和jQuery 我有这样一个URL: http://myserver/myapp/showuser/55 其中显示“查看用户”页面(对于用户id“55”) 我还有一个“编辑用户”页面,在成功编辑后,我通过以下方式重定向到“查看用户”页面: http://myserver/myapp/showuser/55?successMsg=Successfully edited User. “成功消息”从URL参数中解析并显示在屏幕上 它工作

我正在构建一个web应用程序JavaSpringMVC、JSP和jQuery

我有这样一个URL:

http://myserver/myapp/showuser/55
其中显示“查看用户”页面(对于用户id“55”)

我还有一个“编辑用户”页面,在成功编辑后,我通过以下方式重定向到“查看用户”页面:

http://myserver/myapp/showuser/55?successMsg=Successfully edited User.
“成功消息”从URL参数中解析并显示在屏幕上

它工作得很好,但是


问题:如何将“successsg”值传递给GET而不使其成为URL本身的一部分?

对于纯JavaScript Web解决方案:

您可以使用History
pushState
方法来实现这一点

历史记录的
状态
类似于参数,但它对URL是隐藏的

要做到这一点,只需:

const state = { successMsg: 'Successfully edited User'};
const title = '';
const url = 'myserver/myapp/showuser/';

history.pushState(state, title, url);
在“显示用户”页面中,访问以下状态:

console.log(history.state) // { successMsg: 'Successfully edited User'}

对于纯JavaScript Web解决方案:

您可以使用History
pushState
方法来实现这一点

历史记录的
状态
类似于参数,但它对URL是隐藏的

要做到这一点,只需:

const state = { successMsg: 'Successfully edited User'};
const title = '';
const url = 'myserver/myapp/showuser/';

history.pushState(state, title, url);
在“显示用户”页面中,访问以下状态:

console.log(history.state) // { successMsg: 'Successfully edited User'}

您可以使用btoa()和atob()在base64编码之间进行转换。

您可以使用btoa()和atob()在base64编码之间进行转换。

要么不使用GET,要么使用服务器端会话在下一页显示消息,而不是将内容放在URL中;要么不使用GET,或者使用服务器端会话在下一页显示消息,而不是将内容放在URL中