在 ASP.NET WebApi2 中,如果存在内部服务器错误,则会发送 500 响应 没有 Access-Control-Allow-Origin header ,即使 CORS is enabled .
这会导致浏览器报告 CORS 错误,而不是内部服务器错误。
我认为处于错误状态的服务器可能无法报告它将响应的来源,因此在我看来,浏览器应该处理这种特殊情况并报告内部错误,而不是 CORS 错误。
A ) 有没有办法让内部服务器错误显示在浏览器中作为我的请求失败的原因?
B) 浏览器是否应该就此提出问题?
最佳答案
根据 CORS 规范,如果响应不包含对跨域请求的正确确认,则用户代理(浏览器)不应透露有关请求的任何信息。因此,浏览器遵循规范,对此无能为力。如果您想以编程方式显示客户端的底层响应状态,您的服务器将需要通过包含适当的 Access-Control-Allow header 来正确确认跨域请求。
关于asp.net - CORS 和内部服务器错误响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108413/