- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前正在编写一个 google chrome 扩展程序,我需要找出有关网站响应 header 的信息。为此,我使用了 getAllResponseHeaders
方法,但我需要将它放在一个 JSON 对象中。不幸的是,我不断收到错误消息 SyntaxError: Unexpected token D in JSON at position 0 at main
。
这是我目前使用的代码:
xmlhttp.open("GET", url, false);
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
allResponseHeaders = xmlhttp.getAllResponseHeaders();
}
};
xmlhttp.send();
var responseHeaders = JSON.parse(allResponseHeaders);
obj.headers = responseHeaders;
当我在 allResponseHeaders = xmlhttp.getAllResponseHeaders();
调用后立即发出警报时,警报显示调用成功;响应 header 已全部检索。第一个响应 header 是日期,我认为这与我的错误消息的 Unexpected token D
部分有关,但我不知道为什么它无法正确解析。我该如何解决?提前致谢。
编辑:我希望我的 JSON 对象看起来像这样:
{
"headers": {
"Date": "June 20, 2016",
"Content-Type": "charset=UTF/8",
...
}
}
最佳答案
参见 https://msdn.microsoft.com/en-us/library/ms536428(v=vs.85).aspx .返回 header 是一个 crlf 分隔字符串,其中每行包含由冒号分隔的键值。您可能需要调整下面的代码以解决空白问题。
var arr = allResponseHeaders.split('\r\n');
var headers = arr.reduce(function (acc, current, i){
var parts = current.split(': ');
acc[parts[0]] = parts[1];
return acc;
}, {});
关于javascript - 如何使用 getAllResponseHeaders 方法创建一个 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37924305/
var _this = this; $(document).ready(() => { $("#loginForm").submit(function (event) { // Stand
我有一段简单的代码,我试图用它从 URL 响应中读取一些 header : $.ajax(manifestAnchor.href, { type: "HEAD" }).done((data,
我们有 Node.js 作为服务器,它帮助我们从客户端 html 获取远程休息服务,我正在尝试使用以下代码从 jQuery Ajax 调用中获取响应 header : $.ajax({ type:
在 jQuery.ajax() 调用 jqXHR.getAllResponseHeaders() 后,不会返回所有 header 。服务器响应以下 header : Connection: keep-
我正在使用以下代码记录 xhr 请求: (function(open) { XMLHttpRequest.prototype.open = function(method, url, async)
我正在尝试从 ajax 请求中获取响应 header ,但 jQuery 的 getAllResponseHeaders xhr 方法仅显示“Content-Type” header 。有人知道为什么
我目前正在编写一个 google chrome 扩展程序,我需要找出有关网站响应 header 的信息。为此,我使用了 getAllResponseHeaders 方法,但我需要将它放在一个 JSON
每次访问某个站点时,我都试图获取 http 响应 header 。我认为使用像下面这样的观察者就足够了: const OBS = Cc['@mozilla.org/observer-service;1
我正在通过 header 从后端发送授权 token : access-control-allow-headers: accept, content-type, x-access…reques
我确实获取了响应数据,但无法获取自定义 HTTP header 数据。 是的,这是一个跨域请求。我正在使用 Javascript 执行 Ajax 请求。我已经用 XMLHttpRequest 和 jQ
在我们的 Web 应用程序中,我们使用 XHR.getAllResponseHeaders() 函数来获取 header 字段名称。我们使用 X-Access-Token 来接收我们在下一个请求中发送
我是一名优秀的程序员,十分优秀!