前言 在前后端没有分离的时候,前端开发要么是写静态页面,数据渲染后端来做,要么就是前端的页面和后端的代码刚开始的时候就合并在一起,每次后端代码更新了之后,前端也要更新一下代码,然后重启一下服务,还是比较麻烦的,而且前端要一直依赖于后端来开发.但前后端分离之后就不一样了,前端有更大的自由发挥性,现在应该绝大部分的公司都已经采取这种开发模式了. 前后端分离开发之后前后端只要定好接口文档,然后就根据文档各自开始开发了,在接口没好之前前端也可以使用模拟数据的插件来做接口数据模拟返回,等到后端接口写好之后…
环境: 前端 vue   ip地址:192.168.1.205 后端 springboot2.0  ip地址:192.168.1.217 主要开发后端. 问题: 首先登陆成功时将用户存在session中,后续请求在将用户从session中取出检查.后续请求取出的用户都为null. 解决过程: 首先发现sessionID不一致,导致每一次都是新的会话,当然不可能存在用户了.然后发现cookie浏览器不能自动保存,服务器响应set-cookie了 搜索问题,发现跨域,服务器响应的setCookie浏…
1 前后端分离 1.1 后端 ssm+maven 多模块 swagger 文档描述(代码拷贝过来,就可以生成了,https://www.cnblogs.com/wings-xh/p/11991511.html  里面的swagger) postman 测试 请求 put / get / post / patch / delete 1.2 前端 Nodejs:前端服务 npm:管理js库 依赖关系 webpack:对静态资源打包 vuejs:MVVM(model view view Model 双…
文章目录 前言 跨域问题 cookie问题 拦截器导致的跨域问题 后记 前言 场景一: 前台哒哒哒的点击页面,发送请求,但是后台服务器总是没有回应,后台接口虽打了断点,但是根本进不到断点处: 前端:我请求发过去了,数据格式也是对的,你接口文档就是那样写的,我按照接口文档要求写的,你服务器怎么了,你接口写的对吗,巴拉巴拉.... 后台:我接口文档写的很对欸,我这边postman测试可以的,我测试通过了才写的文档欸,你那边什么情况啊,你发送的请求对吗,巴拉巴拉... 场景二: 前台登陆的时候,验证码…
本解决方法的使用前提是,前端开发使用的是vue,后端使用java(SpringMVC) 在前后端分离开发过程中,可能会出现因跨域而导致每次请求的jsessionid不一致的情况 解决方法: 前端:要在main.js入口文件中,将axios请求的withCredentials属性设置为true,如下: import axios from 'axios'axios.defaults.withCredentials = true 后端:设置http请求头为: httpResponse.setHeade…
在前后端分离开发中,需要前端调用后端api并进行内容显示,如果前后端开发都在一台主机上,则会由于浏览器的同源策略限制,出现跨域问题(协议.域名.端口号不同等),导致不能正常调用api接口,给开发带来不便. 封装api请求 1 import axios from 'axios' 2 3 //axios.create创建一个axios实例,并对该实例编写配置,后续所有通过实例发送的请求都受当前配置约束 4 const $http = axios.create({ 5 baseURL: '', 6 t…
跨域 什么是跨域 比如一个链接:http://www.baidu.com(端口默认是80端口), 如果再来一个链接是这样:http://api.baidu.com,这个就算是跨域了(因为域名不同) 再来一个:https://www.baidu.com,这个也是跨域了(因为协议不同,用的https) 再来一个http://www.baidu.com:8888,这个也算跨域,端口号不同 举个实际的例子: API接口数据部署在baidu.com上: Ajax文件部署在cnblogs.com上,Ajax…
最近新学习了Java EE开发框架springboot,我在使用springboot前后台分离开发的过程中遇到了跨域求问题.在网上寻找答案的过程中发现网上的解决方案大多比较零散,我在这里整理一个解决方案,但未必是最好的方案. 要在项目中解决跨域访问,需要解决三个问题: 服务器需要接受不同域的浏览器的请求 浏览器允许读取不同域的服务器的响应数据 保证浏览器每次访问的session是一致的 第一个问题,服务器接受不同域的浏览器的请求,这是后台开发人员需要解决的问题.具体的解决方案有几种,我这里只总结…
问题: 前端跨域访问后端接口, 在浏览器的安全策略下默认是不携带cookie的, 所以每次请求都开启了一次新的会话. 在后台打印sessionID我们会发现, 每次请求的sessionID都是不同的, 既然每次请求都是一个新的会话, 那我们去获取session的时候自然就是null了. 解决办法如下: 环境: vue 2.0 springboot 2.1.6 一.前端部分 1.  在vue引入axios的位置添加以下代码 import axios from 'axios' axios.defau…
最重要的两点: ajax请求跨域的时候,默认不会携带cookie. 请求分为普通请求(HttpRequest)和Ajax请求(XMLHttpRequest) 先屡一下跨域CAS认证的流程: 前端发起ajax请求,请求首先被跨域Filter过滤,加上Access-Control-Allow-Origin , 然后再被CASFilter过滤,此时没有登录的用户会被重定向到cas.host.cn/login进行登录,最最最关键的地方就在这里. 通常是这样的:前端发起HttpRequest,后端接受请求…