J'utilise jquery pour publier des données Json sur le serveur. Cependant, lorsque je fais une demande de publication comme ci-dessous,
$.ajax({
type : 'POST' ,
url : uri,
data : jsonStrJson,
contentType : 'application/json',
success : successFunction
});
Le type de contenu de l'en-tête de la requête http n'est pas "application/json" même si je poste un objet json.
Puisqu'il ne s'agit pas de applcation/json, le serveur ne traite pas le requset et renvoie 415.
Est-il possible de définir l'en-tête à l'aide de l'API javascript ou jquery?
Pouvez-vous essayer ceci,
$.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);
}
});
"contentType" à la place "contentTYpe" devrait également résoudre le problème. ;)
Également pour définir les paramètres d'en-tête de requête http, vous pouvez essayer cette approche:
$.ajax({
type : 'POST' ,
url : uri,
data : jsonStrJson,
headers : { 'Content-Type': 'application/json' }, //this line
success : successFunction
});