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

Javascript 为什么我的XHR的statusText为空?,javascript,http,xmlhttprequest,Javascript,Http,Xmlhttprequest,当我在生产系统上执行XHR时,响应中的statusText将是一个空字符串。但是,在我们的开发系统上,statusText将正确反映状态 根据的文档,它只应在处理请求时为空。但是,我在onload处理程序中看到了这种行为 此外,这种行为只能在Chrome和Edge中观察到。Firefox将显示正确的文本 那么,如何实际确定状态文本的内容呢?这可能是因为一台服务器使用HTTP/2,而另一台服务器不使用。HTTP/2不再有理由短语。让我们看看规范: HTTP/2没有定义携带版本或原因短语的方式 它包

当我在生产系统上执行XHR时,响应中的
statusText
将是一个空字符串。但是,在我们的开发系统上,
statusText
将正确反映状态

根据的文档,它只应在处理请求时为空。但是,我在
onload
处理程序中看到了这种行为

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


那么,如何实际确定
状态文本的内容呢?

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

让我们看看规范:

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


也许您的生产服务器正在运行HTTP/2?@JulianReschke我们正在AWS负载平衡器(ALB)后面运行,是的,似乎正在通过HTTP/2进行通信。这里的联系是什么?HTTP/2中没有理由短语。@JulianReschke哦,那就解释了。如果你能把它写进一个答案,我很乐意接受。经过进一步调查,这似乎是不正确的。这实际上似乎是一个Chrome特有的问题,可能与HTTP/2扩展的实现有关。时期不过,在这种情况下,一些UAs可能会模仿推理短语。(见