扫码关注官方订阅号
浏览器请求前端服务器的静态资源,HTML、CSS之类的,然后浏览器再进行ajax请求api服务器,产生了跨域问题。
我目前想的方案,一是把前后端资源都置于同一域名下,但是感觉不是太合理。二是使用反向代理,但是没弄过不清楚是不是合适。
请问如何通过后端解决此问题呢?
认证高级PHP讲师
举例,有两个项目:P 以及 API
那么调用方式类似:P前端 -》P后端 -》API
题主后端Nodejs的,可以采用一下代码实现跨域,如果是express,建议包装成middleware
res.setHeader('Access-Control-Allow-Origin', req.headers.origin); res.setHeader('Access-Control-Allow-Credentials', true); res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS'); res.setHeader('Access-Control-Allow-Headers','x-requested-with,content-type');
最佳答案已经有了,别忘了请求的时候 withCredentials: true 以带上 cookie
jsonp 可以参考下
Access-Control-Allow-Origin:前端域名
个人觉得还是利用反向代理最靠谱
可能使用nginx进行反向代理比较方便,设置跨域响应头并不能全部兼容IE
反向代理比较简单
node 写的后台代码采用express/koa的话直接在后端代码里引入cors()中间件即可
用nginx做反向代理比较方便呢
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
举例,有两个项目:P 以及 API
那么调用方式类似:P前端 -》P后端 -》API
题主后端Nodejs的,可以采用一下代码实现跨域,如果是express,建议包装成middleware
最佳答案已经有了,别忘了请求的时候 withCredentials: true 以带上 cookie
jsonp 可以参考下
Access-Control-Allow-Origin:前端域名
个人觉得还是利用反向代理最靠谱
可能使用nginx进行反向代理比较方便,设置跨域响应头并不能全部兼容IE
反向代理比较简单
node 写的后台代码采用express/koa的话直接在后端代码里引入cors()中间件即可
用nginx做反向代理比较方便呢