这是“重新加载安全”网页的含义,是否可以通过Ajax实现?

时间:2011-02-17 10:29:44

标签: ajax reload

1)我在这看到了一个面试问题,我假设它与表单提交和避免双重提交有关。有人可以证实这一点吗?

2)假设这个假设是正确的,可以用Ajax完成吗?若有,有人可以指点我的链接? (我假设您生成某种随机数并将其作为隐藏字段包含在表单中,然后确保在会话之前未提交该数字。)

1 个答案:

答案 0 :(得分:0)

Redirect-after-post是一种避免用户刷新或使用后退按钮返回已发布表单时出现问题的技巧。简而言之,不是向HTTP帖子提供响应页面,而是在重新加载后会触发另一个帖子,而是发出303 redirect(或302,通过利用旧的bug来支持古老的浏览器)作为网络)。这会导致浏览器发出第二个HTTP请求 - 获取此时间 - 如果重新加载响应页面,则应该没有任何问题。只需确保所有更改都由post处理程序完成,并且您重定向到的页面没有副作用。

如果您使用XMLHttpRequest发帖,则会遵循重定向;除非您使用hash part of the location或新HTML5 history methods专门支持它,否则后退按钮和重新加载不会再次触发AJAX帖子。