Access to XMLHttpRequest at 'https://duck.icu/v1/api/oauth2/logout' from origin 'http://127.0.0.1:5173' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
时间: 2024-04-15 10:24:13 浏览: 55
FileUpLoadAndDownLoad.zip_JavaScript/JQuery_Java_
这个错误是由于浏览器的同源策略(Same-Origin Policy)所引起的。同源策略是一种安全机制,它要求网页只能从与其本身同源(协议、域名和端口都相同)的网站获取资源。
在你的情况下,你的前端应用程序运行在"http://127.0.0.1:5173"这个域名下,而你的请求目标是"https://duck.icu/v1/api/oauth2/logout"这个域名,它们的协议、域名和端口不同,因此被认为不是同源。
浏览器会发送一个预检请求(preflight request)来验证服务器是否允许跨域访问。服务器需要返回一个包含"Access-Control-Allow-Origin"头部的响应,指定允许跨域访问的源。然而,在你的情况下,服务器没有返回这个头部,因此浏览器会拦截这个跨域请求。
要解决这个问题,你可以在服务器的响应中添加"Access-Control-Allow-Origin"头部,将其设置为允许访问的源,如"http://127.0.0.1:5173"。你可以通过在服务器端配置来实现这一点,具体的方法取决于你使用的服务器技术。
另外,你还可以使用代理服务器来绕过浏览器的同源策略限制。将请求发送给代理服务器,然后由代理服务器将请求发送到目标服务器,并将响应返回给前端应用程序。这样可以避免浏览器的跨域限制。
希望这些信息能对你有帮助!如果你还有其他问题,请随时提问。
阅读全文