我们正在使用以下标题发出XHR请求(我简化了一下):
POST http://localhost:9001/login
Host: localhost:9001
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0
Accept: application/json, text/plain, */*
Content-Type: application/json;charset=utf-8
Content-Length: 67
Run Code Online (Sandbox Code Playgroud)
然后我们的服务器响应这样(再次简化):
Status code: 200 OK
Cache-Control: no-cache, no-store
Connection: close
Content-Length: 0
Date: Mon, 27 Feb 2017 17:19:53 GMT
Server: WildFly/9
Set-Cookie: JSESSIONID=123; path=/
Run Code Online (Sandbox Code Playgroud)
响应中没有有效负载.请注意Content-Length: 0.但Firefox仍然试图将其解析为XML.并将以下错误输出到控制台:
XML Parsing Error: no root element found
Location: http://localhost:9001/login
Line Number 1, Column 1
Run Code Online (Sandbox Code Playgroud)
请注意,服务器不发送content-type标头.根据RFC 7231,它只需要content-type在有实际内容时发送标头.
这是Firefox中的一个错误还是我的研究错误?
自己复制它
我写了一个小型服务器和客户端来重现问题.
server.js(开头node ./server.js): …