在现实开辟中,前后端星散的项目一般会须要同背景开辟人员联调接口,不可避免的会遇到跨域的题目。虽然说跨域题目末了基础都是背景同事处理的,然则有时刻为了赶时间,没辙只需本身来,运用node代办处理
跨域:协定 域名 端口号 三个只需有一个不一样就是跨域,也就是差别域名之间的接见;
一般处理跨域的要领 前端jsonp要求 或许node代办
背景设置拦截器或许运用 注解@CrossOrigin(我本身写的基础都是用的全部 设置成*摊开一切的要求,横竖也是写着玩玩的)
前端vue百口桶一条龙服务,背景ssm
首先在vue项目中 在config目录下index.js
proxyTable: {
'/api': {
target: 'http://localhosst:8080/Maybe/', // 接口域名
changeOrigin: true, //是不是跨域
// pathRewrite: {
// '^/api': '' //须要rewrite的,
// }
}
},
然后将axios的baseURL 设置为'/api' 然后跨域的题目就处理了
( ps:封装axios的时刻 记得一定要照顾cookie
axios.defaults.withCredentials=true //要求照顾cookie
不然后端取到的session也是空的
)
然则这个时刻 会涌现一个题目 session 丧失的题目,接口是通的,然则后端却取到的session确是空的
处理要领
proxyTable: {
'/Maybe': {
target: 'http://localhosst:8080/', // 接口域名
changeOrigin: true, //是不是跨域
// pathRewrite: {
// '^/api': '' //须要rewrite的,
// }
}
},
注重:代办名要与application context(就是项目名称)雷同;跨域changeOrigin: true;RewritePath,
是将对资本的要求重定向到另一途径,使其差别于所要求 URL 指导的途径,依据现实情况看要不要加。
实在真正的session途径在/Maybe下,然则上面这个要求虽然被代办到http://localhosst:8080/Maybe,
很明显的要求http://localhosst:8080/api/Maybe 所照顾的cookie在/api途径下面,
在/api途径找/Maybe下cookie肯定是找不到的啦,所以就涌现了虽然能接见到接口,但取到的session确是空的。