1

我知道“请求”组件应仅在该请求期间有效。因此,我的令人费解的问题。

考虑以下形式:

<form action="${requestUri}" id="someform">
    <!-- Leave out some really boring stuff that doesn't affect the question -->
    <input type="submit" id="ButtonA" value="Button A - Not AJAX"/>
    <input type="submit" id="ButtonB" value="Button B - AJAX" />
</form>

它附加了以下jQueryButtonB

<script type="text/javascript">
$(document).ready(function() {
    $("#ButtonB").click(function(){
        var options = {
            type: 'POST',
            async: false,
            dataType: 'json',
            success: function(data){
                //Do some Work
            },
            error: function(xhr, status, error) {
            }
        };
        $('#someform').ajaxForm(options);
    })
    }
</script>

如果我按下ButtonA表单已成功提交并重新加载页面。如果我按下ButtonBAJAX 命令成功执行并且正确的更新反映在页面上。

然而。如果我按ButtonB然后按ButtonA,即使没有绑定到此按钮的“JSON”操作,Accept Header仍然会发送第二个请求。application/json, text/javascript, */*; q=0.01

dataType完成该功能后是否需要重置?

任何建议表示赞赏。

4

0 回答 0