当我在生产系统上执行 XHR 时,响应中的
statusText
将是一个空字符串。然而,在我们的开发系统上,statusText
将正确反映状态。
XMLHttpRequest.statusText
的文档,只有在处理请求时它才应该为空。但是,我在 onload
处理程序中看到了这种行为。
此外,这种行为只能在 Chrome 和 Edge 中观察到。 Firefox 将显示正确的文本。
那么,
statusText
的内容实际上是如何确定的呢?
可能是因为一台服务器使用 HTTP/2,而另一台服务器不使用。 HTTP/2 不再有原因短语。
您的生产系统是否使用过 HTTPS,而您的开发系统是否使用过 HTTP?
由于某种原因,在 Chrome 上,一旦我们在服务器中安装了 SSL 证书并且 URL 请求以 HTTPS 而不是 HTTP 开始,
statusText
就开始返回空。
因此,我们确保使用
status
而不是 statusText
。