之前一直用的是axios()然后直接在里面传一个整体的params参数,然后会发现每次请求的url并不仅仅是post的API了,好像把参数像类似get的方法 带到了后面,然后换成了axios.post 里面传参数,就可以规避url变了的问题,然后又试了试,发现把params变成一开始的data可以避免这个问题,可能params就是强行变成get 或者是拥有get特性,data就是post吧,可是我记得当时data一直接受不到数据..再试试data的使用
!!!竟然都接收到了
在网上查了一个 在verify中间件里面加 了个addCookieToResponse方法,竟然成功了哈哈哈哈,应该就是之前response里面没有加cookie导致的了,现在只需要解决掉data和params的区别就行了!
!
这整个问题竟然 就这么,结束了,从一开始的恶心的CSFR
大转折!!!
跨域本就是不需要存在的东西,Request 和 Response以及请求的一些东西额。。。之前一直以为发出的任何请求都是基于自己IP地址发出的,但实际上发出请求的域是从自己所在的页面所规定的URL发出的,意思是我在百度里面发出的请求,请求者还是百度,只有我从百度发送到别的比如谷歌的网站请求的时候,这种情况才算跨域。而真正的跨域判定是有规则的,比如域名不同,端口不同,协议不同之类的。
而前后端分离并不是一定会伴随着跨域,ajax也不一定会一定伴随着跨域
Cookie是根据页面而存的,有一定的安全性
CORS规定了跨域的机制与条件,定义了必须访问跨域资源的时候,浏览器与服务器应该如何沟通,基本思想为控制自定义HTTP头部
CSRF是因为存在跨域而存在的跨站点攻击,为了防止这个而在服务器端和客户端生成的安全token
明天再详细一下
参考资料
Ajax
https://juejin.im/post/58c883ecb123db005311861a?utm_source=gold_browser_extension#heading-36
跨域
https://zhuanlan.zhihu.com/p/25778815
https://segmentfault.com/a/1190000000718840
https://blog.youkuaiyun.com/cominglately/article/details/87552679
2019.4.1