项目之前一直是时时上传服务器端,没有在本地 npm run dev
,现在想要在本地启动,于是想利用脚手架中的 proxyTable
解决跨域
项目实际请求地址是 http://……test……地址,项目本地启动在127.0.0.1端口80上,下面是 proxyTable
的配置
在代码中配置请求的url;
实际请求的url应该是 http://……test……/veliky/user/checkUser?token=……
代理之后的url变成了 /api/veliky/user/checkUser?token=……
但是启动之前接口还是报错如下:Access to XMLHttpRequest at 'http://……test……/veliky/user/checkUser' (redirected from 'http://127.0.0.1/api/veliky/user/checkUser?token=sqI……ZCTkjN7sDnr4……A3Zfll5I(OKy8p0-4gV9n(KlnIjyR0FFKlVKXTqwp-I)') from origin 'http://127.0.0.1' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
这句话的意思是 源地址 http://127.0.0.1 发来的 从http://127.0.0.1/api/veliky/user/checkUser?token=sqI……ZCTkjN7sDnr4……A3Zfll5I(OKy8p0-4gV9n(KlnIjyR0FFKlVKXTqwp-I) 重定向的请求http://……test……/veliky/user/checkUser 被同源策略拦截了
吗?
请问这样处理是否有问题? 是后台 veliky 服务没有开启允许跨域吗?
还有其他更好的解决跨域问题的方法吗?因为 后台服务实在太多了,还有webSocket需求配置。
谢谢!
错误信息
你这个接口产生了重定向。
Vue的反向代理解决的是
开发环境下服务器不允许跨域导致本地开发用的域名localhost:8000请求服务器API失败的问题
,编译部署到生产之后Vue应用和服务器API要在同一个域名下才可以