使用 JavaScript 获取数据时“不存在 'Access-Control-Allow-Origin' 标头”
跨域资源共享 (CORS) )是一种允许 Web 浏览器向其他域发出请求的机制,解决了不同来源带来的安全问题。要启用 CORS,服务器必须在其响应中包含特定标头,例如“Access-Control-Allow-Origin”。
1。使用 CORS 代理
如果您的服务器缺少必要的标头,您可以在客户端和服务器之间实现 CORS 代理。此代理(例如 CORS Anywhere)可以重写响应以包含缺少的标头,从而启用跨源请求。
2.避免 CORS 预检
CORS 预检请求是浏览器发送的 OPTIONS 请求,用于确定服务器是否允许跨域请求。为了避免触发预检,请确保您的请求:
3.修复通配符 Access-Control-Allow-Origin 标头
对于带有凭据的请求,浏览器会拒绝带有通配符 (*) Access-Control-Allow-Origin 标头的响应。相反,标头值必须与请求客户端的来源匹配。要解决此问题:
4。请求与响应中的标头
删除 JavaScript 代码 (headers.append(...)) 中设置 Access-Control-Allow-* 标头的行。这些是不应包含在请求中的响应标头。
以上是为什么我在发出跨源请求时收到'不存在'Access-Control-Allow-Origin'标头”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!