XMLHttpRequestおよびresponseTextを使用する場合のMSIE6での奇妙な「システムエラー-1072896658」の問題の解決

このトラブルがどれほど広範囲に広がっているのかはわかりませんが、私から多くの時間がかかったため、誰も問題を抱えていないため、次の解決策を書きます。

問題: XMLHttpRequestオブジェクトのresponseTextプロパティにアクセスすると、MSIE6が不可解なシステムエラー-1072896658(数値は異なる場合があります)を表示します。

理由:応答エンコードを解析できません。

解決策:サーバー応答ヘッダーでエンコードを明示的に指定します。 さらに、多くの場合デフォルトでサーバーに与えられるハイフンなしの「utf-8」は、彼が理解していません。 コンテンツタイプは関係ありません。

ヘッダーの例: Content-type:application / json; 文字セット= utf-8
(application / json- jfcの場合、 rfc4627による)

ところで、FireBugでXMLHttpRequestの操作をテストするときは注意してください。FireBugがオフになったときに何らかの理由で動作を拒否したスクリプト( MooToolsフレームワークと同期要求を使用しました)があります。 私は問題の本質を掘り下げなかった。 MooTools ajaxクラスを自分で作成したものに変更することにしました(後ほど磨くときに投稿します)。

ボーナスユーティリティ :PHPのfile_get_contents( 'php:// input')を使用すると、$ _POSTを処理するときに制限を受けることなく、クライアントのリクエストを生の形式で読み取ることができます。 PHPラッパーの詳細

Source: https://habr.com/ru/post/J17321/


All Articles