200 OK レスポンスが Ajax でエラー イベントをトリガーする: 根本原因と解決策
Ajax リクエストが 200 OK レスポンスを返した場合、jQuery のデフォルト動作成功イベントを実行することです。ただし、場合によっては、代わりにエラー イベントがトリガーされることがあります。この不一致は、予期される応答と実際の応答の間の不一致から発生します。
無効な JSON 応答のケース
この例では、jQuery コードで dataType が指定されています。 「json」の。これにより、jQuery がサーバーからの有効な JSON 応答を期待するようになります。ただし、C# コードは 200 OK ステータス コードを含む HTML を返します。
応答が予期された JSON 形式に準拠していないため、jQuery はそれをエラーとして解釈し、エラー イベントを発生させます。これを解決するには、jQuery コードから dataType パラメータを削除することをお勧めします。これにより、応答を生のデータ文字列として扱うように jQuery に指示します。
JavaScript 応答を返す
もう 1 つの解決策は、有効な応答を返すようにサーバー側のコードを変更することです。 JavaScript の応答。これは、Content-Type ヘッダーを「application/javascript」に設定し、応答として目的の JavaScript コード (例: 「alert('Record Deleted');」) を埋め込むことで実現できます。
JSON レスポンスを返す
柔軟性を高めるために、多くの場合、JSON レスポンスを返して、成功コールバックで解析して表示します。これを行うには、サーバー側コードで以下を実行する必要があります。
jQuery コードでは、成功コールバックを変更して、 JSON 応答を取得し、それに応じてメッセージを表示します。
以上が200 OK Ajax 応答によってエラー イベントがトリガーされることがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。