Maison  >  Article  >  interface Web  >  Comment gérer les erreurs lorsqu'Ajax transmet des données au format JSON en arrière-plan

Comment gérer les erreurs lorsqu'Ajax transmet des données au format JSON en arrière-plan

php中世界最好的语言
php中世界最好的语言original
2018-04-03 14:14:112202parcourir

Cette fois, je vais vous expliquer comment gérer les erreurs lorsque Ajax transmet des données au format json en arrière-plan. Quelles sont les précautions lors du traitement des erreurs lorsque Ajax transmet des données au format json en arrière-plan. est un cas pratique. Levez-vous et jetez un œil.

Description du problème :

Ajax transmet les données au format json en arrière-plan et signale une erreur 415, comme indiqué dans la figure ci-dessous

Code de la page

function saveUser(){
var uuId = document.getElementById("uuid").value;
var idCard = document.getElementById("idCard").value;
alert(uuId+idCard);
// var result = new Object();
// result.uuId = uuId;
// result.idCard = idCard;
// var saveData = JSON.stringify(result);
// alert(saveData);
$.ajax({
url : "xdds/saveUser.do?random=" + Math.random(),
type : "post",
data : {"uuid" : uuId,"idCard" : idCard},
// data:saveData,
dataType : 'json',
// contentType : "application/json",
success:function(data){
}
});
}

Code backend

@RequestMapping(value = "/saveUser.do", method = { RequestMethod.POST })
@ResponseBody
public Map<String, Object> saveUser (@RequestBody MapUser user){
Map<String, Object> map = new HashMap<String, Object>();
System.out.println(user.getUuid()+user.getIdCard());
map.put("result", "fda");
return map ;
}

Analyse d'erreur : 415 (type de média non pris en charge) Le format demandé n'est pas pris en charge par la page demandée

Format json correct {key:value, key:value} la clé et la valeur doivent avoir des guillemets doubles. La valeur des données dans les données du code frontal ci-dessus n'a pas de guillemets doubles, donc une erreur est signalée (car ce n'est pas un problème d'écrire de cette façon dans les projets précédents)

Par conséquent, l'analyse préliminaire peut être un problème avec le framework. Certains frameworks peuvent

data : {"uuid" : uuId,"idCard" : idCard} est encapsulé dans le bon format json.

Je ne connais pas encore la raison précise, le blogueur est aussi un novice, je la partagerai quand le blogueur l'aura compris

Solution : ouvrez le code a commenté à la réception

var saveData = JSON.stringify(result)<br>这个函数可以转化成真确的json格式。<br><br>ps:小白一个,有不对的地方请大神指正;有大神知道具

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le php. Site chinois !

Lecture recommandée :

Comment traiter les données json téléchargées par ajax background success

ajax obtient les paramètres de retour de la page et donne la mission de contrôle

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn