前端跨域的几种处理方式
什么是跨域?
浏览器想服务器发送请求,因为Ajax只能在同源策略下使用,不能请求不同接口的数据,例如浏览器接口8080请求接口3000的数据,是请求不到数据的会报错,这时就需要跨域来解决跨域就是解决此问题。以下三种方式是我所熟悉的前端跨域请求方式
  从创建文件到访问的步骤
    后台文件接口为 3000,前端接口为 8080
一、在 cmd 中 输入 cnpm i -S webpack webpack-cli,搭建一个前端的工程

创建结果如下

二、在当前文件夹下创建 webpack.config.js默认配置文件,进行配置。

配置完毕后文件创建如下:(server.js为后端请求接口文件)

创建一个server.js文件,进行简单后台接口的编写,在cmd中 使用 node server.js 就可以启用后台接口

启用后台接口 node server.js,在浏览器中输入 http://127.0.0.1:3000/user,显示:

 
这时我们的后台接口就基本配置完毕。然后在 index.js 中的进行ajax请求,这时会显示报错。

1、使用 webpack 中代理的方式的来请求后台接口
在webpack.config.js配置中写入红框中的代码,

以 /api 的代理方式来实现跨域请求

2、后端 cors 处理的方式,在server.js文件中加入以下代码,这种方式是后端处理,最简便的方式,不需要前端做任何处理方式就能请求,只需要在后端添加以下代码就可以,
  
3、webpack插件处理的方式,也是中间件,在server.js文件中加入以下代码,重新启动 node server.js,在浏览器中启动http://127.0.0.1:3000,会发现同时也请求到了数据
  
还有jsonp 的请求方式、vue中的axios的请求方式等等,这么多的跨域方案各有各的好处,没有最好,只有最适合,根据场景选择适合自己的方式;
 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号