接受$ .ajax()中的标头无效

时间:2016-03-12 13:02:37

标签: jquery ajax xmlhttprequest

我使用jQuery编写了一个通用的AJAX请求,并从另一个JS文件调用该函数。终点是WebAPI操作。我传递的内容包括contentType,accept,data和URL,但即使我将accept类型设置为application/json,当我们检查控制器中的Request标头时它显示为*/*。在chrome的网络中,Request标头内容类型显示为*/*

function Post(url, contentType, accepetType, params, sCallBack, eCallBack, cCallBack) {
    $.ajax({
        type: 'POST',
        url: url,
        beforeSend: function (xhr) { 
            xhr.setRequestHeader("Authorization", "bearer " + authToken); 
        },
        contentType: contentType,
        accept: accepetType,
        data: params
    }).done(function (response) { 
        sCallBack(response) 
    }).fail(function (error) { 
        eCallBack(error) 
    }).always(function (response) { 
        cCallBack(response) 
    });
}

当我尝试使用XMLHttpRequest时,它可以正常运行同一个端点。谁能告诉我为什么会这样?

更新: 我试着给它应用程序/ xml,并在chrome的开发人员工具的网络选项卡中显示 /

1 个答案:

答案 0 :(得分:0)

function Post(url, contentType, accepetType, params, sCallBack, eCallBack, cCallBack) {
$.ajax({
    type: 'POST',
    url: url,
    beforeSend: function (xhr) { 
        xhr.setRequestHeader("Authorization", "bearer " + authToken); 
    },
    header:{"accept": accepetType,"Content-Type": contentType},
    data: params
}).done(function (response) { 
    sCallBack(response) 
}).fail(function (error) { 
    eCallBack(error) 
}).always(function (response) { 
    cCallBack(response) 
});
}

解决了我的问题。感谢