有关303重定向的更多信息

时间:2013-11-05 19:57:33

标签: coldfusion http-status-code-303

昨天,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。

2 个答案:

答案 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;
    }
})();