vue.js+springboot 解决跨域问题

vue.js 中自带解决方案,后端正常接收就可以了,这里就改vue.js项目就可以

在vue.js项目中的config文件夹中的index.js文件
找到

proxyTable: {},

加上代理内容

proxyTable: {
      '/api': {   //这里/api就是代表在使用/api前缀时会引用target,就是发送/api/list请求就是发送http://10.1.0.0:8762/api/list
        target: 'http://10.1.0.0:8762',
        changeOrigin: true,
        pathRewrite: {
            '^/api': '/yjj/Log'  //这里可以不写,但是我的后端接口没有http://10.1.0.0:8762/api/list,只有http://10.1.0.0:8762/yjj/Log/list,所以我用了,就是将api重写成/yjj/Log
        }
      }
    },

axios发送方法

methods: {
        add(form){
            this.$axios
            .post('/api/insertSelective', this.form)
            .then(successResponse => {
                console.log(successResponse)
            })
            .catch(failResponse => {})
        }
    }

此时如果发现get请求可以正常交流数据,说明代理成功了

但是如果发现post请求报500,可能是数据格式的问题,此时检查下自己有没有改变请求头的设置,比如:

axios.defaults.headers.post["Content-type"] = "application/json"

如果有,就注释掉,用默认的,后端用@RequestBody接收就可以了

如果还有问题可以留言

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章