jQuery Ajax リクエストは成功 (200 OK) を返しますが、エラー イベントがトリガーされます
jQuery Ajax リクエストは常に 200 OK を返し、成功したことを示します応答。ただし、jQuery は依然として成功イベントではなくエラー イベントを実行しています。
問題:
jQuery の $.ajax を使用する場合、dataType パラメーターが に設定されている場合"json" (コードにあるように) は、サーバーからの応答が有効な JSON であることを期待します。ただし、あなたの場合、サーバー応答は HTML であり、有効な JSON ではありません。これにより、jQuery は解析エラーをスローし、エラー イベントをトリガーします。
解決策 1: dataType: 'json' を削除します
1 つの解決策は、dataType パラメータを削除することです。 Ajax リクエスト。これにより、jQuery はサーバーから送信する HTML を含む応答をプレーンテキストとして解釈できるようになります。
$.ajax({ type: 'POST', url: 'Jqueryoperation.aspx?Operation=DeleteRow', contentType: 'application/json; charset=utf-8', data: json, cache: false, success: AjaxSucceeded, error: AjaxFailed });
解決策 2: サーバーから JSON を返す
または、HTML の代わりに JSON を返すようにサーバー側の C# コードを変更することもできます。これにより、jQuery が応答を正しく解析し、成功イベントを実行できるようになります。private void test() { Response.ContentType = "application/json"; Response.Write("{ \"message\": \"Record Deleted\" }"); }
以上がjQuery Ajax リクエストが 200 OK を返すのに、エラー イベントがトリガーされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。