ここで何らかの形でajaxで何かを行い、データを
JSON転送し
cp1251 。サイト上のすべてのエンコーディングは
cp1251です。 車輪を再発明しないために、
jQuery使用しました。
IEすべてをテストすることを決定するまで、すべてが正常に機能しました。
IE私は7番目のバージョンを持っています、私はまだ他でそれをテストしていませんが、私の意見では同じ機能があります。
したがって、エラーなしで機能するものはありません(目に見える)。 駆け巡り、
jQueryが
parsererror返すことが
parsererror 。 さらに詳しく調べてみると、
responseXMLフィールドにアクセスするとトランスポートがアクセスに失敗し、
responseTextフィールドに空のドキュメントが含まれていることがわかりました(当然、データはテキストで送信されます)。
ジグソーパズルとグーグルで約30分働いた後、私はそれを見つけました:
- ヘッダーのエンコードが
utf-8ない場合、 IE絶対に動作しません。
コンテンツタイプapplication/ajaxおよびapplication/x-javascriptも制御されません。
一般的に、最終的に、ヘッダーContent-type: text/plain; charset=utf-8を生成し始めましたContent-type: text/plain; charset=utf-8 Content-type: text/plain; charset=utf-8およびすべてをutf-8トランスコードします( iconvで3行で出力されます)。
いいえ、 IE確かに同じcp1251エンコーディングの友人でIEないことを読んでいますが、今のところ私はそれを理解しました;)
みんな! 他人の間違いを繰り返さないでください:)
UPD
うーん、私の頭に灰を振りかけます。 cp1251エンコーディングをwindows-1251置き換えることで、すべてが非常によく修正されていることが判明しました:)ヒントをありがとう。