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/

目前,由于 Firefox 中的一个错误,其中 .getAllResponseHeaders() 虽然 .getResponseHeader('Content-Type') 返回一个非空字符串,但返回空字符串,因此不支持在 Firefox 中使用 jQuery 自动解码 JSON CORS 响应。

于 2013-06-26T14:25:12.307 回答