0

AJAX XD リクエストを作成しました。呼び出しはうまくいきました。Chrome ではすべてがうまく機能し、それに応じて HTTP ヘッダーを取得できますが、Firefox では取得できません。私はすでにすべての起点ヘッダーを宣言しています。

誰か助けてくれませんか?

    $.ajax({
                        url: 'myurl',
                        type: "POST",
                        cache: false,
                        dataType: "text",
                        crossDomain: true,
                        async: true,
                        xhrFields: {
                            withCredentials: false
                        }
                    })
                    .done(function( value, type, obj ) {
                    console.log('success', arguments, obj.getAllResponseHeaders());
                    });

On server it's defined the headers:
   header('Access-Control-Allow-Credentials: true');
   header('Access-Control-Allow-Origin: _URL_');
   header('Access-Control-Expose-Headers: some_id,Content-Range');
4

1 に答える 1

0

これは、Firefox のバグが原因である可能性があります。jQuery ドキュメントには、問題の説明と回避策の提案があります。

http://api.jquery.com/jQuery.ajax/

現在、.getResponseHeader('Content-Type') は空でない文字列を返しますが、.getAllResponseHeaders() は空の文字列を返すという Firefox のバグにより、Firefox で jQuery を使用して JSON CORS 応答を自動的にデコードすることはサポートされていません。

于 2013-06-26T14:25:12.307 に答える