springboot怎么把数据传给前端:springboot 如何引入前端 bootstrap?
这种问题网上一搜一大堆,你可以具体找一篇文章试试,遇到问题可以针对相关问题去提问。springboot通过jar包方式引入bootstrap_个人文章 - SegmentFault 思否 这不是查查就
顺晟科技
2022-10-19 14:23:25
142
我有一个表单,我想在提交后验证服务器端。如果它是有效的,我希望浏览器导航到。如果它无效,我希望返回一条错误消息并保持在同一页上。
我知道如何在两个请求中这样做(例如,返回HTTP302重定向,而不是带有页面内容的HTTP200),但我只想用一个请求来做,因为对于这样一个简单的任务来说,两个请求似乎太多了。
在我的研究中,我发现了两个可能的解决方案,都非常糟糕:
使用JavaScript提交表单并处理响应。如果响应是HTTP 400,则处理错误的显示。如果响应是HTTP 200-用响应的正文替换整个HTML文档,更新页面地址和浏览器历史记录。
我不喜欢这个解决方案,因为对于这样一个简单的任务来说,它似乎太复杂了,而且我不确定是否可以删除已经加载并正在运行的脚本。想象一下,在HTML代码中有类似的内容,即使我这样做了,它也会运行。
将窗体的操作设置为直接发送到。如果表单有效,返回带有页面内容的HTTP200,页面将正确加载。如果表单无效,则返回HTTP204无内容-这将导致浏览器停留在同一页面上。然后,我可以在cookie或其他响应头中包含错误详细信息(HTTP204不允许响应包含正文)。
这个我更讨厌,因为这会违反客户机-服务器HTTP通信背后的许多规则,滥用HTTP 204状态。如果有一个类似的HTTP错误响应状态,指示浏览器保持在相同的页面上,并允许响应正文,那就太好了。
那么,有没有一种方法可以在满足单个请求的同时保持标准兼容和无副作用呢?
顺晟科技:
不,浏览器对204的支持很糟糕(你只是得到一个白屏),而且没有办法通知用户哪里出了问题。204甚至不适合您的情况,因为您希望在发生错误时使用它,但204是成功状态。
在过去,我们只会在结果页面上显示一个全屏错误,并要求用户按后退按钮。浏览器保留表单值,以便在不丢失整个表单的情况下更正错误。
执行2个请求是在大多数情况下是个好主意。不过,您需要将数据提交给服务器,然后在获得状态代码后重定向到一个新页面。如果不这样做,用户将在按后退按钮时重新提交表单,这几乎总是不受欢迎的。
05
2022-12
02
2022-12
02
2022-12
29
2022-11
29
2022-11
24
2022-11