Cette fois, je vais vous montrer comment résoudre l'erreur status=parsererror signalée lors de l'interaction Ajax. Quelles sont les précautions pour résoudre l'erreur status=parsererror signalée lors de l'interaction Ajax. . Jetons un coup d'oeil.
Cause : Les données renvoyées par la servlet ne sont pas au format Json
Le code JS est :
var jsonStr = {'clusterNum':2,'iterationNum':3,'runTimes':4}; $.ajax({ type: "post", //http://172.22.12.135:9000/Json.json url: "/LSHome/LSHome", dataType : 'json', data : jsonStr, success: function(data,textStatus){ if(textStatus=="success"){ alert("创建任务操作成功"+data); } }, error: function(xhr,status,errMsg){ alert("创建任务操作失败!"); } });
2. Notez que l'url ci-dessus est /LSHome/LSHome, (le nom du projet est LSHome), donc dans le fichier web.xml, configurez le servlet comme suit :
<servlet> <servlet-name>LSHomeServlet</servlet-name> <servlet-class>com.ys.servlet.LSHomeServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>LSHomeServlet</servlet-name> <url-pattern>/LSHome</url-pattern>
3. Le code dans le Servlet est :
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //聚类数量 String clusterNum = request.getParameter("clusterNum"); //迭代次数 String iterationNum = request.getParameter("iterationNum"); //运行次数 String runTimes = request.getParameter("runTimes"); System.out.println("聚类数量为:"+clusterNum+"---迭代次数:"+iterationNum+"---运行次数:"+runTimes); PrintWriter out = response.getWriter(); out.write("success"); out.close(); }
4. Le résultat est qu'il y a toujours une erreur en entrant l'ajax méthode et status=parsererror
xhr = Object {readyState: 4, responseText: "success", status: 200, statusText: "OK"}
5. Solution :
La raison est que le format de données renvoyé via le L'objet de réponse est incorrect. La méthode correcte est
PrintWriter out = response.getWriter(); String jsonStr = "{\"success\":\"OK\"}"; out.write(jsonStr);
La valeur de retour peut être reconstituée au format de données JSON, puis status=parsererror sera signalé
Je pense que vous maîtrisez le 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 site Web chinois de PHP !
Lecture recommandée :
Comment utiliser Ajax pour réaliser une connexion contextuelle
Étapes Ajax+bootstrap pour optimiser le Web expérience utilisateur
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!