Jquery ajax请求不允许在firefox上获取响应头

时间:2013-06-26 14:18:02

标签: javascript jquery

我创建了一个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');

1 个答案:

答案 0 :(得分:0)

这可能是由于Firefox中的错误造成的。 jQuery文档中有一个问题描述和解决方法建议:

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

  

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