使用http-proxy-middleware解决前端开发中跨域的问题

一、使用http-proxy-middleware中间件解决跨域问题

本案例中使用基本的webpackaxios请求数据的插件

  • 1、后端服务是用tornado创建的一个服务(可以根据自己熟悉的搭建一个后端服务器)

    ...
    class JsonHandler(tornado.web.RequestHandler):
        def get(self):
            li = [
                {"id": 0, "name": "张三", "age": 20},
                {"id": 1, "name": "李四", "age": 25},
                {"id": 2, "name": "王五", "age": 27}
            ]
            self.write(json.dumps(li))
    
    ...
  • 2、安装包

    npm install http-proxy-middleware --save-dev
    npm install webpack --save-dev --save-dev
    npm install webpack-dev-server --save-dev
    npm install axios --save
  • 3、webpack.config.js文件

    var proxy = require('http-proxy-middleware');
    module.exports = {
        entry:{
            index:'./index.js', 
        },
        output:{
            path:__dirname,
            filename:'[name].build.js',
        },
        module:{
            loaders:[]
        },
        resolve:{
            extensions:['.js',".css",".jsx"]
        },
        devServer: {
            proxy: {
              '/api': { // api表示当前项目请求的key
                target: 'http://xxxxxxxx:8000', // 代理服务器路径
                pathRewrite: {'^/api' : '/'}, // 重写路径
                changeOrigin: true
              }
            }
         }
    }
  • 4、请求数据

    import axios from 'axios';
    var obtn = document.getElementById('btn');
    
    obtn.addEventListener('click',function(){
        axios.get('/api/json').then(res=>{
            console.log(res);
        })
    })
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水痕01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值