当前位置: 首页 > 面试题库 >

如何通过跨域Ajax获取响应标头?

司马弘益
2023-03-14
问题内容

我正在尝试阅读文档,我必须承认这并非易事。我没有问题(添加Access-Control-Allow-
Origin标头后)来读取responseText,但是除了Firefox之外,其他任何地方都无法获得响应头。

因此,我的问题是使用跨域Ajax获取响应标头的正确方法是什么?

我尝试使用(Access-Control-Expose-
Headers
),但是再次失败,无法读取标头。


问题答案:

因此,它的工作方式是在Access-Control-Expose-
Headers标头中指定希望客户端访问的标头。例如,如果您的服务器设置了Foo响应标头,并且您希望客户端能够读取它,则服务器还应该发送以下标头:

Access-Control-Expose-Headers: Foo
在客户端,可以通过调用xhr.getAllResponseHeaders()读取所有响应标头。这将以字符串形式返回响应头,然后您可以使用以下代码将其解析为一个对象: https
//gist.github.com/706839

那是事情 应该 如何运作的解释。但是,请注意,较旧的浏览器存在一个错误,该错误无法在客户端上读取响应标头。有关更多详细信息,请参见此处:CORS
xmlhttprequest HEAD方法



 类似资料:
  • 本文向大家介绍通过jsonp获取json数据实现AJAX跨域请求,包括了通过jsonp获取json数据实现AJAX跨域请求的使用技巧和注意事项,需要的朋友参考一下 AJAX(异步的 JavaScript 和 XML)是用于创建快速动态网页的一种技术,它在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页,ajax 使用XMLHttpRequest对象在后台与服务器交换数据,XMLHttpR

  • 问题内容: 我在同一个域上有一个请求,我想读取cookie。它不断返回。 有任何想法吗?我为此使用Chrome。 问题答案: 您正在寻找的响应标头: 它不适用于HTTPOnly cookie。 更新资料 根据XMLHttpRequest级别1和XMLHttpRequest级别2,此特定的响应标头属于您可以使用所获得的“禁止”响应标头,因此,该方法可以起作用的唯一原因基本上是一个“顽皮的”浏览器。

  • 问题内容: 我通过JavaScript收到了带有AJAX请求的JSON响应。 这是响应: 我的目标是获取内容: json变量是我的情况下的数据。因此,我尝试了: 但是我得到一个空字符串。 关于如何访问字符串的任何想法? 先感谢您。 问题答案: 您是否首先解析json? 比阅读

  • 问题内容: 想象一下我运行这个: 在/ajax/watch.php内部,假设我有这个: 并且alert(responseText)返回: 而不是我需要的文本字符串。有什么帮助吗? 问题答案: 看起来您的jQuery以某种方式返回了XMLHttpRequest对象,而不是您的响应。 如果是这种情况,则应请求其属性,如下所示: 但是,如果这不起作用,则可能实际上是在接收JSON响应,并且您看到的可能是

  • 问题内容: 我正在使用JSONP进行api跨域请求,并且外部服务器以XML返回我的结果,以下是我的代码: 它返回给我一个xml,但随之产生一个错误,提示“意外令牌<”,不幸的是停止了我的处理,但我没有收到警告消息。任何想法? 最好 问题答案: 正如上面的评论中提到的那样,除非您能够控制吐出XML的应用程序并可以使用格式化技巧来“欺骗”脚本以将其解析为JSON,否则javascript的跨域xml是

  • 我们先从这么一个问题来引入我们本章节的学习 —— 什么是跨域请求? 1.跨域请求 简单来说,跨域请求就是一个域下的资源请求另外一个域下的资源。 同一个域,指的是,协议名、域名、端口号都一致。 举个例子来说,假如 “http://www.a.com” 下的 JavaScript 脚本发起 Ajax 请求 “http://www.a.com/ajax” ,由于 协议名 http 、域名 www.a.c