请求标头(Accept)是否在请求之间保持不变?

时间:2012-12-12 08:16:09

标签: jquery request-headers

我知道'request'组件应该只在该请求的持续时间内有效。这是我令人费解的问题。

考虑以下形式:

<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>

它有以下jQuery附加到ButtonB

<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,表单会成功提交并重新加载页面。如果按ButtonB,AJAX命令将成功执行,并且页面上会显示正确的更新。

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

完成功能后我是否需要重设dataType

任何建议表示赞赏。

0 个答案:

没有答案