为什么我的XHR的statusText是空的?

问题描述 投票:0回答:3

当我在生产系统上执行 XHR 时,响应中的

statusText
将是一个空字符串。然而,在我们的开发系统上,
statusText
将正确反映状态。

根据

XMLHttpRequest.statusText
的文档,只有在处理请求时它才应该为空。但是,我在
onload
处理程序中看到了这种行为。

此外,这种行为只能在 Chrome 和 Edge 中观察到。 Firefox 将显示正确的文本。

那么,

statusText
的内容实际上是如何确定的呢?

javascript http xmlhttprequest
3个回答
22
投票

可能是因为一台服务器使用 HTTP/2,而另一台服务器不使用。 HTTP/2 不再有原因短语。


4
投票

让我们看看规格:

HTTP/2 没有定义携带版本或原因短语的方式 包含在 HTTP/1.1 状态行中。

rfc7540


0
投票

您的生产系统是否使用过 HTTPS,而您的开发系统是否使用过 HTTP?

由于某种原因,在 Chrome 上,一旦我们在服务器中安装了 SSL 证书并且 URL 请求以 HTTPS 而不是 HTTP 开始,

statusText
就开始返回空。

因此,我们确保使用

status
而不是
statusText

© www.soinside.com 2019 - 2024. All rights reserved.