如何从我的跨浏览器插件的跨域HEAD请求中检索响应标头
How to retrieve response-headers from a cross-domain HEAD request from my cross-browser addon?
我正在使用Kango框架开发一个跨浏览器插件,使用以下代码,我正在使用正在成功执行的Kango.XHR发出HEAD
请求(如HTTP DEBUGGER中所示),并且在我的后台脚本中的以下代码也返回data.status == 200
。
function doXHR(url) {
var details = {
method: 'HEAD',
url: url,
async: true
};
kango.xhr.send(details, function(data) {
if (data.status == 200) {
kango.console.log(data.status);
}
else { // something went wrong
kango.console.log('something went wrong');
}
});
};
现在,我想从上面得到Content-Length
响应标头的值,但不知道如何做到这一点?
通常,您可以使用xhr.getReponseHeader
读取响应标头。根据Kango的工作方式,该方法可能已经在data
对象上可用。
如果data.getReponseHeader("Content-Length")
不起作用,那么您可以尝试使用kango.getXMLHttpRequest
:来模仿普通的Ajax调用,而不是使用kngo.xhr.send
var request = kango.xhr.getXMLHttpRequest();
request.open('HEAD', url);
request.send(null);
request.onload = function() {
if(request.status == 200) {
console.log(request.getResponseHeader("Content-Length"));
console.log(request.responseText);
}
}
request.onerror = function() {
console.log("something went wrong");
}
同样,根据Kango在后台的操作方式,您的服务器可能需要提供Access-Control-Expose-Headers响应头,以允许客户端读取它。这可能没有必要,因为扩展代码通常不受同源策略的约束,但我提供它只是为了帮助您消除Kango跨平台API中任何可能的不一致。
相关文章:
- 在检索数据时是否可以停止图像加载请求
- 如何检索 AJAX 请求返回的数据
- 从HTML模板中的$http请求中检索的$scope访问更深层次的数据
- 如何从我的跨浏览器插件的跨域HEAD请求中检索响应标头
- 如何从发布请求中检索数据
- Ajax 请求失败 - 从服务器检索用户标识
- 在Firefox控制台中使用Javascript检索GET请求
- 从 nodejs 中的多部分请求中检索 JSON 对象
- 如何检索请求有效负载
- 使用纯javascript检索挂起的AJAX请求数
- 如何从请求主体(Javascript)中查看/检索FormData对象
- 如何将一些指定的时间设置为ajax调用,这样如果请求正在花费时间检索数据,它应该来到FAIL块
- 发送包含从ajax请求中检索到的数据的电子邮件
- 如何在扩展Chrome DevTool时检索请求的启动器
- AJAX请求检索XML输出和大小写重定向..但事实并非如此;t重定向
- 以JSON结构的形式从post请求中检索数据
- 正在从维基百科解析请求中检索pageid
- 如何检索所有应用程序请求
- Javascript -如何“请求查询字符串”从Url.检索参数值的操作链接
- 业务催化剂:是否可以提交密码检索请求表单并通过AJAX显示结果密码检索确认页面?