2010-11-24 18 views
3

私は、ResponseTextを返さないサービスにExtJSを使用してXMLHttpRequestを作成しています。ただ204とレスポンスヘッダーTotalNearbyです。呼び出しはFirefoxを使用して完全に機能しますが、Internet Explorer 8では両方の警告ボックスが空です。私は間違って何をしていますか?XMLHttpRequestレスポンスはInternet Explorerにヘッダーがありません

Ext.Ajax.request({ 
    url: 'services/getNearby', 
    method: 'GET', 
    params: { 
     'lat': 34, 
     'lon': -90 
    }, 
    headers: { 
     'Authorization': AUTH_TOKEN 
    }, 
    success: function(response) { 
     if (response.status == 204) { 
      alert(response.getAllResponseHeaders()); 
      alert(response.getResponseHeader('Total-Nearby')); 
     } 
    }, 
    failure: function(response) { 
     alert('Server status ' + response.status); 
    } 
}); 

答えて

5

サイトhttp://www.enhanceie.com/ie/bugs.aspによると、これはIE 7/8バグです:

IE0013:IEのXMLHTTP実装 は1223 偽のステータスコードここで説明

に204応答コードをオン http://dev.jquery.com/ticket/1450、IEの XMLHTTPRequestオブジェクトは、 のステータスコードを返します.1223となり、すべての応答ヘッダーが になります。サーバー がHTTP/204 No Content 応答を返す場合はsです。

これはURLMONの内部設計 アーチファクト(結合戻り 動作中止(1223) 要求に応じてサーバ 戻るならないコンテンツ)によって引き起こされます。

IE8、IE7(おそらく )のRepros。

回避方法: "1223"は、 を204と見なしてください。注:この場合、HTTPヘッダーは利用できません。

IEが状態コードを1223に変更しなかったことを意味する空のアラートが表示されている場合、バグのその部分が修正されている可能性があります。しかし、私はこの声明についてもっと心配するでしょう:

注:この場合、HTTPヘッダーは使用できません。

これはあなたが直面している問題のようです。コンテンツで応答しないサービスを使用する必要がありますか?メッセージ本文で典型的な応答を返す方が適しているかもしれません。

+0

幸いにも私はサービスを変更することができます。ありがとう! – originalbryan

関連する問題