Access to XMLHttpRequest at 'https://mobile-api.zmfuture.net/test/common/uploadAttach' from origin 'http://localhost:8080' 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-23 19:28:38 浏览: 112
这个错误是由于浏览器的同源策略(Same-Origin Policy)引起的。浏览器默认情况下只允许在同一个源(协议、域名、端口号都相同)下进行跨域请求。
出现这个问题的原因是你的前端应用(http://localhost:8080)尝试访问一个不同源的后端接口(https://mobile-api.zmfuture.net)。默认情况下,浏览器会发送一个预检请求(preflight request)来确认是否允许跨域访问。
在预检请求的响应中,后端接口应该包含一个名为 "Access-Control-Allow-Origin" 的响应头,并设置为允许访问的域名。然而,根据你提供的错误信息,该响应头并未被正确返回,导致浏览器拒绝访问。
要解决这个问题,你可以在后端接口的响应中添加适当的CORS头信息,以允许前端应用从指定的源进行跨域请求。可以通过设置 "Access-Control-Allow-Origin" 响应头为前端应用的域名,例如:'http://localhost:8080'。
如果你无法修改后端接口的响应头,你也可以考虑使用代理服务器来转发请求,或者在前端应用中使用JSONP或者WebSocket等其他方法来避免跨域问题。
阅读全文