vue使用axios请求数据跨域解决(proxy)


proxy是什么?

proxy是ES6中就存在的,用于修改某些操作的默认行为,可以理解成在目标对象前设一个拦截层,因此也叫“代理器”

vue中使用proxy代理

Vue 框架开发的时候,会遇到跨域的问题,可在config/index.js 里配置proxyTable内容,使用proxy 代理。

module.exports = {
   publicPath:'./',// npm run build 之后的资源路径默认 ‘/’
   devServer:{
     proxy:{
        '/hehe':{
          target:"http://ustbhuangyi.com/", //目标服务器
          changeOrigin:true,//是否改变请求源
          pathRewrite:{ //路径重写
            "^/hehe":''
          }
        }
        // "/xixi":{
        //   target:'http://www.baidu.com',
        //   changeOrigin:true,
        //   pathRewrite:{
        //     "^/xixi":''
        //   }
        // }
     }
   } 
}

然后在axios请求中

//get请求
export const  getRecommentList=()=>{
 return new Promise((resolve,reject)=>{
  let url='/hehe/music/api/getDiscList'
  axios.get(url)
  .then((data)=>{
   resolve(data)
  })
  .catch((err)=>{
    reject(err)
  })
 })
}
//post请求
export const  getRecommentList=()=>{
 return new Promise((resolve,reject)=>{
  let url='/hehe/music/api/getDiscList'
  let data={
    firstName: 'Fred',
    lastName: 'Flintstone'
    },
  axios.post(url,data)
  .then((data)=>{
   resolve(data)
  })
  .catch((err)=>{
    reject(err)
  })
 })
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM