Maison > Article > interface Web > Solution au problème que status=parsererror signale toujours lorsque Servlet interagit avec Ajax
Cet article présente principalement la solution au problème de toujours signaler status=parsererror lorsque Servlet interagit avec Ajax. Il est très bon et a une valeur de référence. Les amis dans le besoin peuvent s'y référer
<.> Raison : Les données renvoyées par la servlet ne sont pas au format Json
1 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 Il y a toujours une erreur lors de la saisie de la méthode ajax, 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 l'objet de réponse est incorrect. La méthode correcte est<.>
PrintWriter out = response.getWriter(); String jsonStr = "{\"success\":\"OK\"}"; out.write(jsonStr);
Ce qui précède est le mien, je l'ai compilé pour tout le monde, j'espère qu'il sera utile à tout le monde à l'avenir.
Articles associés :
PHP+ajaxExplication détaillée du cas d'obtention de données d'actualité
ajax en PHP
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!