关于跨域的总结

1、客户端访问的地址和请求后端的接口地址不同(协议不同或者域名不同或者端口号不同)均会出现跨域问题,跨域是浏览器的策略,接口是能访问通的,只是返回体被浏览器拦截了,看不到返回结果。
2、发布h5时,前端访问地址可以拼接ip地址和端口号,但是必须拼对,评上客户端打开的ip和端口或者域名,也可以不拼接,直接写接口地址,如"/deyt/base/ure"。nginx配置了下面的东西,可以正确访问。(nginx解决的跨域问题)
location /deyt {

        proxy_set_header   Host             $host;
        proxy_set_header   x-forwarded-for  $remote_addr;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_pass http://192.168.1.245:6060; //正式环境改成http://gas.deyt.cn
    }

3、前端解决跨域
proxyTable:{

  '/deyt':{//这行的‘/deyt’是接口地址里面公共的部分
    target:'http://192.168.1.129:6060',//访问的后台ip
    changeOrigin:true,
    pathRewrith:{
      '^api':'/deyt',//这里随便定义,不定义也可以
    }
  }
},

4、后端解决的跨域

    需要的接口地方加上@CrossOrigin

5、app因为不是访问浏览器不存在跨域的问题,打包的时候要拼接上正确的ip+端口或者域名

你可能感兴趣的:(关于跨域的总结)