Maison >interface Web >js tutoriel >Que dois-je faire si la méthode jquery $.post ne s'exécute pas ?
La solution au problème selon lequel la méthode jquery $.post n'est pas exécutée : définissez les données renvoyées sur les données json et le code est [out.print(JSONObject.fromObject(result));].
L'environnement d'exploitation de ce tutoriel : système windows7, version jquery3.2.1, cette méthode convient à toutes les marques d'ordinateurs.
Solution au problème selon lequel la méthode jquery $.post ne s'exécute pas :
À propos du problème selon lequel la fonction de rappel post de JQuery ne s'exécute pas
La fonction de rappel de publication frontale n'est pas exécutée, après avoir défini le débogage du point d'arrêt, elle ignore toujours l'exécution
Démonstration d'erreur :
Code backend
@RequestMapping(value = "login") public void CheckUserAccount(@RequestParam("account")String account, HttpServletResponse response) throws IOException{ JSONObject json_account = JSONObject.fromObject(account); int username = (Integer)json_account.get("username"); String password = json_account.getString("password"); logger.info("username = " + username + " password = " + password); int status; status = checkUserAccountService.IsCorrect(username, password); Map<String, Object> result = new HashMap<String, Object>(); Map<String, String> info_json = new HashMap<String, String>(); if(status == 1){ info_json.put("status", "success"); }else if(status == 0){ info_json.put("status", "errorpassword"); }else{ info_json.put("status", "noexitaccount"); } result.put("info", info_json); JSONObject json_object = JSONObject.fromObject(result); response.setContentType("text/json; charset=utf-8"); response.setHeader("Cache-Control", "no-cache"); PrintWriter out = response.getWriter(); out.print(result); out.flush(); out.close(); logger.info("验证结果是" + ((Map<String, String>)(result.get("info"))).get("status"));
La phrase importante est :
response.setContentType("text/json; charset=utf-8");
Les données renvoyées ici sont définies sur des données json, mais out.print(result); la sortie ici est une carte, donc le frontal ne peut reconnaître aucune donnée, et le la fonction de rappel du résultat est ignorée directement sans exécution (car la fonction de rappel n'exécute que les données json)
Démonstration correcte :
doit être remplacé par : out.print(JSONObject.fromObject(result));
.
Recommandations d'apprentissage gratuites associées : javascript (vidéo)
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!