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接收就可以了

如果還有問題可以留言

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