1:场景还原
写个日子长记性,
项目架构,spring + springMVC +mybatis + JDK 1.7.80 基于xml配置开发, 用的分布式dubbo+zookeeper .
今天要写一个方法, 需求是 在购物车服务上, 调用一个个人中心的方法 ,用到了 跨域请求.
方法上加了该方法是get方法.
在要跨域的服务中找到springMVC.xml (A要调用B . 此时B就是要跨域的服务);
登录成功以后,我用localhost8083 去调用我要跨域的服务 写一个测试页面
点击以后 报错
还是跨域问题,
怎么会有redirect.
后来发现该方法登录成功以后, 携带token过来后, 跨域被拦截了 ,没有接收到反而跳转到了.新的页面,新的页面没有token.... 可以被理解为操作了cookie
对cookie操作以后,
需要加上这个参数.
之后重新点击
success . 成功了.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
首先,我的登录 写了拦截器, 登录成功跳转页面. redirectPage(url), 如果没有登录则跳转到登录界面
问题的关键:
ajax发送请求: 该参数的意思是, 只要对cookie 进行了操作, 就要加上 下面的参数,
xhrFields: {
withCredentials: true // 携带跨域cookie
},
解决问题的方式 : 1: 先审视自己当前错误产生的原因,和 环境 ,(生命周期,及程序运行顺序)
2: 90%的错误 都会在控制台输出,仔细看最后一个 coasby:.... 问题一定在那, 先把控制台问题解决,再去解决浏览器控制台问题, consol.log(输出1,2,3看看在哪出错)
3: 百度是个很牛逼的解网,但是坑也有很多, 取其精华,去其糟粕.
加个好友吧,进群共同解决问题,加上备注 来源/博客园