gpt4 book ai didi

javascript - 仅使用 HTTP/2,XMLHttpRequest 响应的 `statusText` 属性似乎是用户代理定义的

转载 作者:行者123 更新时间:2023-12-03 04:56:44 25 4
gpt4 key购买 nike

我们向后端发送 XHR 请求,从而接收此类响应对象(无论浏览器是什么):

{
status: 200,
statusText: "OK",
config: {...},
data: {...}
}

我们刚刚迁移到另一个支持 HTTP/2 的负载均衡器。由于某种原因,statusText属性现在根据浏览器的不同而有所不同:

Chrome (56.0.2924.87):

{
status: 200,
statusText: "", // empty
config: {...},
data: {...}
}

Firefox (51.0.1):

{
status: 200,
statusText: "OK", // as previously (+1)
config: {...},
data: {...}
}

Safari (10.0.3):

{
status: 200,
statusText: "HTTP/2.0 200", // ?!
config: {...},
data: {...}
}

我们的旧代码正在读取 statusText属性(property),所以有些行为被破坏了。它很容易修复(所以这最终是一个很好的观点),但是,为什么仍然存在......知道发生了什么吗?

旁注:

最佳答案

根据MDN :

The XMLHttpRequest.statusText property returns a DOMString containing the response's status message as returned by the HTTP server.

因此,您的负载平衡服务器配置很可能不是 100% 同步。可能有一些服务器配置根据发出请求的用户代理发回不同的响应。

关于javascript - 仅使用 HTTP/2,XMLHttpRequest 响应的 `statusText` 属性似乎是用户代理定义的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42401795/

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