前端跨域请求

最近前端碰到请求跨域问题,同事xx和jim都提供了一个方案,蛮好用的,自己简单收集整理了下,介绍给大家。

1.cors
解决:post,get,以及cookie跨域
缺点:需要服务器端配合
参考:http://www.ituring.com.cn/article/200275

2.nginx反向代理
解决:post,get, 以及cookie跨域
优点:无需服务器端配合
参考:

(1)nginx配置
  server {
    listen       80;
    server_name  www.common.com;
    root D:\project\front-end-laban;  //项目根目录
    location / {
      proxy_set_header   Host             192.168.14.215; //服务器端ip
      if (!-f $request_filename) {  //如果不是请求文件,访问服务器
          proxy_pass      http://192.168.14.215; 
         }
      }
    }

(2)修改hosts文件
 127.0.0.1         www.common.com

说明:比如访问www.common.com/test.html页面,由于配置了host,会访问到本机的80端口,而80端口被nginx监听,即会被nginx拦截,nginx的配置策略是,访问文件就直接访问root目录下的文件,如果是接口之类的请求,则访问192.168.14.215服务器。这样就达到的跨域的目的。

3.jsonp
解决:get
缺点:不支持post请求
说明:jsonp就是使用了

你可能感兴趣的:(前端跨域请求)