ホームページ > 記事 > ウェブフロントエンド > Ajax インタラクション中に報告される status=parsererror エラーを解決する方法
今回は、Ajax インタラクション中に報告された status=parsererror エラーを解決する方法を説明します。 Ajax インタラクション中に status=parsererror エラーが報告された場合に解決するための 注意事項は何ですか。以下は実際的なケースです。見て。
原因: サーブレットによって返されたデータは Json 形式ではありません
1。JS コードは次のとおりです:
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。名前は LSHome) なので、Web では .xml ファイルで、サーブレットを次のように構成します。
<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. サーブレット内のコードは次のとおりです。
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. 結果として、常にajax メソッドの入力エラー、および status=parsererror
xhr = Object {readyState: 4, responseText: "success", status: 200, statusText: "OK"}
5. 解決策:
その理由は、応答オブジェクトを通じて返されるデータ形式が正しくないためです。PrintWriter out = response.getWriter(); String jsonStr = "{\"success\":\"OK\"}"; out.write(jsonStr);は戻り値を分割できます。 JSON データ形式に変換すると、status=parsererror が報告されます これを読んだことがあるはずです。この記事の場合の方法は習得できています。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。 ! 推奨書籍:
Web ユーザー エクスペリエンスを最適化するための Ajax + ブートストラップの手順
以上がAjax インタラクション中に報告される status=parsererror エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。