昨天,Peter Boughton提到303 redirect can be used to transform to a refresh-friendly GET request。
问:这是怎么做到的?假设我有以下形式:<form method="post">
<button type="submit" name="Save">Save</button>
</form>
然后,如何通过按F5进行303重定向以防止用户提交相同的内容?
注意:从bootstrap 3开始,我现在使用button type = submit来支持input type = submit。
答案 0 :(得分:2)
您可以使用
<cflocation url = "newpage.cfm" addToken = "no" statusCode = "303">
参见https://learn.adobe.com/wiki/display/coldfusionen/cflocation 了解更多详情
答案 1 :(得分:0)
我正在玩的一个想法是根本没有提交表格。相反,我将按钮类型=“提交”更改为按钮类型=“按钮”并让JavaScript执行AJAX调用以保存表单,然后执行window.replace,以便当用户按下后退按钮时,他们没有浏览器历史的长尾:
这是我的表格:
<form method="post">
<button type="button" id="Save">Save</button>
</form>
这是我的JavaScript:
(function() {
$(document).on('click','#Save',SaveClicked);
function SaveClicked() {
var local = {};
local.data = {};
local.data.method = 'Save';
local.dataType = 'text'; // no return value.
local.Promise = $.ajax('xxx.cfc',local);
local.Promise.done(done);
local.Promise.fail(fail);
}
function done(data, textStatus, jqXHR) {
window.location.replace(window.location.pathname);
}
function fail(jqXHR, textStatus, errorThrown) {
debugger;
}
})();