飞道的博客

如何解决跨越

313人阅读  评论(0)

解决跨域我想在坐的各位都会听说过几个解决跨域的方法:
1.有什么 cors后端配置(加几个请求头

2.jsonp(利用script的src属性)

3.还有vue-cli前端配置。



跨域其实就是违背了浏览器的一种策略,这种策略就是同源策略(Same origin policy)

同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。

所以我们引出浏览器的同源策略,就是指必须在同一个协议,域名,端口号下,而且三者必须一致的。这个时候,我们就说是同源。

为什么会产生跨域?
也就是 为了网络安全起见,浏览器设置了一个同源策略,规定只有域名,端口,协议全部相同,就叫做同源。当页面在执行一个脚本时,会检查访问的资源是否同源,如果不是,就会报错。可是在实际开发中,经常会有跨域加载资源的需求,避免不了跨域请求,所以就出现了跨域。

如何解决跨域(重点)

在工作中一般找后端同学解决一下,如果后端不写的话可以用以下方法
用vue-cli(脚手架)创建的项目,新建vue配置文件 vue.config.js(名字固定)

在此配置文件中解决跨域


  
  1. module.exports = {
  2. devServer: {
  3. // ... 省略
  4. // 代理配置
  5. proxy: {
  6. // 如果请求地址以/api打头,就出触发代理机制
  7. // http://localhost:9588/api/login -> http://线上的地址/api/login
  8. '/api': {
  9. target: 'http://线上的地址' // 我们要代理的真实接口地址
  10. }
  11. }
  12. }
  13. }

图解


 

 


转载:https://blog.csdn.net/weixin_65692463/article/details/128414976
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场