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