首页 > 解决方案 > Safari 浏览器出现空响应头 ajax 错误

问题描述

我正在尝试使用 javascript ajax 调用获取一些 HTML 模板文件。

但每次它在 safari 浏览器中给我“加载资源失败:取消”。如果我添加了 HTTP 而不是 HTTPS,那么它可以正常工作,但对于 HTTPS,它每次都无法加载资源。

我试图得到错误响应,当我打印错误时它给了我以下错误。

状态文本:“错误”就绪状态:4 状态:404

这是我的ajax代码

$.ajax({
  url: "tpl/btntext.html",
  type: 'GET',
  crossDomain: true,
  datatype: 'text/html',
  success: function(data, textStatus, request) {
    console.log(request.getAllResponseHeaders())
    console.log(textStatus)
  },
  error: function(jqXHR, textStatus, errorThrown) {
    console.log(textStatus)
    console.log(errorThrown)
    console.log(jqXHR.getAllResponseHeaders())
  },
  beforeSend: function(xhr) {
    xhr.setRequestHeader('Access-Control-Allow-Origin', '*');
  }
});

如果我使用 HTTPS 打开 URL,则此错误仅在 Mac 的 Safari 浏览器中发生,否则它在其他浏览器上工作正常。

我正在使用 Microsoft-IIS/10.0 服务器。

任何想法?

标签: javascriptjqueryajaxiishttps

解决方案


推荐阅读