我正在使用jquery将Json数据发布到服务器。但是,当我发布如下的帖子请求时,
$.ajax({
type : 'POST' ,
url : uri,
data : jsonStrJson,
contentType : 'application/json',
success : successFunction
});
即使我发布了json对象,http请求标头内容类型也不是“application / json”。
由于它不是applcation / json,服务器不会处理requset并返回415.
有没有办法使用javascript或jquery API设置标头?
答案 0 :(得分:25)
你能试试吗,
$.ajax({
beforeSend: function(xhrObj){
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Accept","application/json");
},
type: "POST",
url: uri,
data: jsonStrJson,
dataType: "json",
success: function(json){
console.log(json);
}
});
答案 1 :(得分:5)
“contentType”而不是“contentTYpe”也应该解决问题。 ;)
答案 2 :(得分:0)
另外,对于设置http请求标头参数,您可以尝试这种方法:
$.ajax({
type : 'POST' ,
url : uri,
data : jsonStrJson,
headers : { 'Content-Type': 'application/json' }, //this line
success : successFunction
});