我使用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的开发人员工具的网络选项卡中显示 / 。
答案 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)
});
}
解决了我的问题。感谢