ホームページ >ウェブフロントエンド >jsチュートリアル >200 OK 応答があるにもかかわらず、jQuery Ajax 成功イベントが失敗するのはなぜですか?

200 OK 応答があるにもかかわらず、jQuery Ajax 成功イベントが失敗するのはなぜですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-02 06:26:08670ブラウズ

Why is My jQuery Ajax Success Event Failing Despite a 200 OK Response?

jQuery Ajax 成功イベントが 200 OK 応答にもかかわらず失敗する

jQuery の Ajax リクエスト メカニズムは通常、指定された dataType パラメータまたはサーバーから受信した Content-Type ヘッダー。ただし、この変換プロセスで無効な JSON データや XML データなどのエラーが発生した場合、jQuery はエラー イベントを実行します。

問題の調査

この特定のシナリオでは、提供されているjQuery コードは dataType: "json" を定義し、応答が JSON 形式であることを期待していることを示します。ただし、JqueryOperation.aspx のサーバー側コードは、ステータス 200 OK のプレーン HTML スニペットを出力します。この不一致により、jQuery が有効な JSON として応答を解析できなくなり、エラー コールバックがトリガーされます。

解決策

この問題を解決するには、jQuery が解釈できないようにします。応答は JSON として返されます。これを行うには、jQuery コードから dataType パラメーターを削除します。さらに、JqueryOperation.aspx のサーバー側コードを変更して次を返します:

Content-Type: application/javascript

alert("Record Deleted");

または、より堅牢なアプローチとして、JSON 応答を返し、成功コールバック内でメッセージを表示することを検討してください:

Content-Type: application/json

{"message": "Record deleted"}

以上が200 OK 応答があるにもかかわらず、jQuery Ajax 成功イベントが失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。