我有一个简单的 PHP 脚本,我正在尝试跨域 CORS 请求:
<?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: *"); ...
然而我仍然得到错误:
请求头字段X-Requested-With不允许Access-Control-Allow-Headers
X-Requested-With
Access-Control-Allow-Headers
有什么我想念的吗?
Access-Control-Allow- Headers不允许作为接受值,请参阅此处*的 Mozilla 文档。
Access-Control-Allow- Headers
*
而不是星号,您应该发送接受的标头(首先X-Requested-With如错误所示)。
*现在接受的是Access-Control-Allow-Headers。
根据MDN Web Docs 2021:
*对于没有凭据的请求(没有 HTTP cookie 或 HTTP 身份验证信息的请求),该值仅计为特殊的通配符值。在带有凭据的请求中,它被视为*没有特殊语义的文字标头名称。请注意,授权标头不能使用通配符,并且始终需要明确列出。