首页 > 技术文章 > 如何解决跨域问题

zhouying1208 2019-08-07 19:40 原文

我们在工作当中偶尔会遇到跨域问题(少见),在这里主要介绍三种跨域方法:jsonp跨域,cors,服务器代理

1.jsonp跨域:这种是前端的解决方法,采用src,但是在我们工作当中几乎用不到

2.cors:这种是后端处理方法,这种情况用于,当别人访问自己时。我们可以先安装cors,安装指令:npm i cors --save-dev,安装完毕后需要在app.js文件接受一下:var cors=require('cors');记得一定要放在请求路径的前面,不然没有作用。

3.服务器代理:这种也是后端处理方法,这种情况用于后台将请求转发给其他服务(当自己访问别人的接口时)。安装指令:npm i http-proxy-middleware --save-dev,安装完之后再app.js中接收:var proxy=require('http-proxy-middleware');然后在cors语句下面添app.use('/herolist.json',proxy({target:'http://host810267499.s360.pppf.com.cn',changeOrigin:true}))这样在自己建立的index.html文件下就可以请求到了,例如ajax请求

$('.getinfo').click(function(){
            $.ajax({
                type:'get',
                url:"/herolist.json",
                dataType:'json',
                async:true,
                success:function(data){
                    console.log(data);
                }
            })
            
        })

 

推荐阅读