ホームページ >バックエンド開発 >PHPチュートリアル >php で Ajax を使用するときのエラー (c00ce56e) の詳細な解決策、ajaxc00ce56e_PHP チュートリアル
今日コードを書いていたとき、Ajax を使用してデータを非同期に取得しました。Firefox 13.0 ではすべて正常でしたが、IE のさまざまなバージョンで IE6 をテストすると正常でしたが、IE8 では「エラー: この操作が原因でした」というエラーが報告されました。エラー c00ce56e により完了できません。」 Firefox はコードを書いたりテストを行ったりするために使用するブラウザなので、通常は最初に Firefox ですべてが正常に見えるかどうかを確認します。
私の環境は次のとおりです: js コードは jQuery に基づいており、非同期読み込みを使用して各 js クラス ライブラリをロードし、リクエスト メソッドは 'GET'、戻り形式は 'html' です。
前回の作業が段階的に終わったので、IEで正常か確認してみると、ちょっと落ち込んでいて、データが表示されません。次に、IE で F13 を実行すると、IE でデータを要求するプロセスに問題はなく、コントロール パネルでもデータが取得されることがわかりました。ただし、 $('#id').html(data); を使用すると、 DOM にデータを挿入しようとしても、まったく応答しません。
デバッグを続行し、$.ajax リクエストの error パラメーター オプションでコールバック関数に渡される errorThrown パラメーターを警告すると、次のエラーが発生しました:「エラー c00ce56e のため、この操作は完了できません。」重要なのは、ポップアップされるエラーにはコードがあるため、追跡可能なエラーであるということです。
ちなみに、Firefox では ajax リクエストは成功を返しますが、IE ではエラーを返します。このエラー メッセージに基づいて、インターネット上で関連する回答を検索したところ、エンコーディングが一貫していないという、より有益な記述を見つけました。検索した結果、HTML ページのエンコーディングが utf-8 であり、php プログラムの設定も header('Content-type: text/html;charset=utf-8'); であることがわかりました。これはすべて憂鬱です。同じです。後でページのソースコードを確認したところ、なぜ utf8 になっていたのかがわかりました。後で nginx 設定で utf8 が設定されていることがわかりました。強制された文字エンコーディングは utf8 で、すぐに nginx を再起動しましたが、すべてが正常でした。 。 。
この質問に基づいて、次のような経験を要約できます:
Firefox は IE よりも強力なフォールト トレランスを備えています。HTML5 の設計思想に関しては、Firefox のパフォーマンスが優れています。テストされていないため、そのようなフォールト トレランスがセキュリティ リスクを引き起こすかどうかは不明です。
プログラムのさまざまなエンコーディングの一貫性を保つようにしてください。そうしないと、予期しないエラーが発生する可能性があります。 utf-8 を使用することをお勧めします。
http://www.bkjia.com/PHPjc/904915.html