0

XMLHttpRequest モックアップ オブジェクトを使用して、Jasmine で ExtJs 4.1 アプリをテストします。現在、すべてが Chrome と Firefox で完全に動作しますが、IE バージョン 7 から 9 ではいつものように問題が発生します。

onreadystatechange関数にエラーがあり、

if readyStateis 1then SCRIPT575(エラーのため続行できませんc00c023f)

if readyStateis 2then SCRIPT10(必要なデータがまだ利用できない)

このJsfiddleを参照してください(「エラー」を検索して行にジャンプします)

さらに、エラーがありますTypeError: Object expected


私が読んだもの

このような投稿をいくつか読みましたが推奨事項のどれもそれを修正しませんでした。


:

Chrome と Firefox ではすべてのリクエストは のみを返しますreadyState 4が、IEreadyStateでは値が 1 から 4 まで繰り返されます (?)。

Chrome & FF
readyState 4 => OK
readyState 4 => OK
readyState 4 => OK
readyState 4 => OK
readyState 4 => OK
...

IE:
readyState 1 => error
readyState 2 => error
readyState 3 => OK
readyState 4 => OK
readyState 1 => error
...

これを修正する方法を教えてもらえますか? 私は見当もつかない。

4

2 に答える 2

1

responseXML / responseTextプロパティを読み取る前に、readyState値を確認してください。readyStateの値が4の場合、responseXML/responseTextに安全にアクセスできます

(XMLHttpRequestの元の実装とその後の仕様では、オブジェクトがI / O操作を完了する前に、データへのアクセス時に例外をスローする実装が必要でした)

于 2012-12-07T10:35:36.127 に答える
-1

responseであるはずの名前のプロパティがありましたresponseText

また、私はチェックreadyStateしていますif( typeof oXhr.readyState !== 'undefined' ) {}

これで、私のコードはIE8、IE9(標準)で動作します。

ただし、IE8、IE9(Quirks)、およびIE 7(Quirks&Standard)は次のエラーで失敗します。

SCRIPT16389: Unknown error

修正しようとしますが、この質問は完了です。

于 2012-12-10T14:21:27.327 に答える