一.环境:

前端 vue element-ui

后端:spring boot

工具:IDEA Maven Node

数据库:MySql

二.首先我们需要了解什么叫跨区域访问问题

跨区域访问是指:不同域名之间相互访问

也就是A网址通过AJAX发送请求访问B网站 A和B在不同IP或者不同端口的时候会出现这个问题

三:什么是同一个域

同一协议 同一IP 同一端口 三者一不相同 出现跨区域访问问题

四:前端vue 跨区域解决方案

最快的方式是通过安装vue-resource,找到当前前端项目

输入:npm install vue-resource --save

然后在需要使用的地方添加vue-resource

 import Vue from 'vue'
import VueResourse from 'vue-resource';
Vue.use(VueResourse) let params=this.ruleForm
this.$http.get('http://localhost:8080/login/CheckLogin',{params}).then((res)=>{
console.log("res=====>"+JSON.stringify(res))
}).catch((res)=>{
console.log("res=====>"+JSON.stringify(res))
})

五:后端跨区域解决方案

后端跨区域比较简单,最好的方法就是添加:@CrossOrigin

@Controller
@RequestMapping(value = "/login")
@CrossOrigin
public class loginController { private final Logger logger = LoggerFactory.getLogger(loginController.class); @Autowired
UserService userService;
/**
* 登录密码校验模块
*/
@ResponseBody
@RequestMapping(value = "/CheckLogin", method = RequestMethod.GET)
@CrossOrigin
public String CheckLogin(@RequestParam Map<String,Object> map) {
logger.info("登录操作=>开始入参"+JSON.toJSONString(map)); MessageBean messageBean=new MessageBean();
messageBean=userService.selectUser(map);
logger.info("登录操作=>结束"+JSON.toJSONString(messageBean));
return JSON.toJSONString(messageBean);
}
}

 即可以解决跨区域问题

 
05-02 05:13