【问题标题】:Jquery ajax request not allow get response header on firefox [duplicate]Jquery ajax请求不允许在firefox上获取响应标头[重复]
【发布时间】:2023-04-06 19:49:01
【问题描述】:

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

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 2017-11-11
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 2018-12-29
      • 1970-01-01
      相关资源
      最近更新 更多