gpt4 book ai didi

javascript - 获取标题 Ajax Jquery

转载 作者:行者123 更新时间:2023-11-30 17:55:24 26 4
gpt4 key购买 nike

我尝试像这样获取 header 值“Date”,但它给出:

xhr.getResponseHeader is not a function 

我在 firebug 中看到响应 header 并且它存在 :S

也许不支持 JQuery?这可以用 JavaScript 代替吗?必须工作,我可以看到标题...

代码:

function ajaxDate(myUrl){   
var res;
var ajaxCall=$.ajax({
type: 'GET',
url: myUrl,
crossDomain: true,
async: false,
cache: false
}).always(function(output, status, xhr) {
//alert(xhr.getResponseHeader("MyCookie"));
console.log(xhr);
console.log(output);
console.log(status);
res=xhr.getResponseHeader('Date');
});
return res;
}

来自 firebug 的调试转储,url: www.google.se:

200 OK 92ms jquery.min.js(第 5 行)

响应头

Alternate-Protocol  80:quic
Cache-Control private, max-age=0
Content-Encoding gzip
Content-Type text/html; charset=UTF-8
Date Fri, 09 Aug 2013 00:57:43 GMT
Expires -1
P3P CP="This is not a P3P policy! See http://www.google.com/support/accounts/bin/answer.py?hl=en&answer=151657 for more info."
Server gws
Set-Cookie PREF=ID=e6503cda76a:FF=0:TM=1376009863:LM=1376009863:S=pByclnZqvnZs2k5S; expires=Sun, 09-Aug-2015 00:57:43 GMT; path=/; domain=.google.se, expires=Sat, 08-Feb-2014 00:57:43 GMT; path=/; domain=.google.se; HttpOnly
Transfer-Encoding chunked
x-frame-options SAMEORIGIN
x-xss-protection 1; mode=block

请求 header

Accept  */*
Accept-Encoding gzip, deflate
Accept-Language en-US,en;q=0.5
Host www.google.se
Origin http://localhost/
Referer http://localhost/
User-Agent ....

控制台日志(xhr)

[Exception... "Failure" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js :: .send :: line 5" data: no] { name="NS_ERROR_FAILURE", message="Failure", result=2147500037, more...}
auto.js (line 52)

控制台日志(输出)

Object { readyState=0, status=0, statusText="[Exception... "Failure"...d :: line 5" data: no]"}
auto.js (line 53)

控制台日志(状态)

error

最佳答案

always的签名是

.always(function(data|jqXHR, textStatus, jqXHR|errorThrown) { });

如果映射到你的方法

.always(function(output, status, xhr) {

这一行

res=xhr.getResponseHeader('Date'); // If response is a success

应该是

res=output.getResponseHeader('Date'); // if response fails

看起来你的方法失败了,它将相同的方法映射到 errorThrown

相反,您可以编写一个单独的 fail 方法来处理它,或者对语法进行小的更改。

res= output.getResponseHeader ? output.getResponseHeader.get('Date')
: xhr.getResponseHeader.get('Date')

关于javascript - 获取标题 Ajax Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18138468/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com