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!