Response to preflight request doesnt pass access control check No Access-Control-Allow-Origin header is present on the requested resource怎么在前端解决这个问题
这个问题通常是由于跨域请求引起的。可以通过以下方法解决:
-
后端添加响应头Access-Control-Allow-Origin来允许跨域请求,比如:
res.header("Access-Control-Allow-Origin", "*");注意:这种方法需要在后端进行配置,如果你无法控制后端,则需要使用下面的方法。
-
使用代理来转发请求,比如在Vue.js中可以使用vue-cli-plugin-proxy,具体可以参考官方文档。
-
在请求中加上withCredentials:true,表示允许带上凭证,比如:
axios.get(url, { withCredentials: true })注意:使用这种方法需要后端也开启withCredentials,否则无法生效。
需要注意的是,以上方法都需要后端进行相应的支持。如果无法进行后端配置,可以考虑使用第二种方法,或者使用JSONP等方式进行跨域请求。
原文地址: https://www.cveoy.top/t/topic/eExM 著作权归作者所有。请勿转载和采集!