您的当前位置:首页正文

Vue项目中跨域问题解决方案

2020-11-27 来源:品趣旅游知识分享网

方法

  • 后台更改header
  • 使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建)
  • Jquery jsonp
  • 后台更改header

    header('Access-Control-Allow-Origin:*');//允许所有来源访问 
    header('Access-Control-Allow-Method:POST,GET');//允许访问的方式

    使用http-proxy-middleware 代理解决(项目使用vue-cli脚手架搭建)

    打开config/index.js,在proxyTable中添写如下代码:

    proxyTable: { 
     '/api': { 
     target: '填写请求源地址', //源地址 
     changeOrigin: true, //是否跨域
     pathRewrite: { 
     '^/api': '' //路径重写 
     } 
     } 
    }

    使用axios

     this.$axios.post("/api/地址",{
     发送的数据
     }).then(data=>{
     console.log(data);
     })

    axios的配置(main.js)

    axios.defaults.headers.post["Content-type"]="application/json";
    Vue.prototype.$axios=axios;

    使用ES6fetch请求

    fetch("/api/test/testToken.php",{
     method:"post",
     headers:{
     "Content-type":"application/json",
     },
     body:JSON.stringify({发送数据})
     }).then(result=>{
     return result.json()
     }).then(data=>{
     console.log(data);
     })

    使用jquery jsonp

    methods: { 
     getData () { 
     var self = this 
     $.ajax({ 
     url: '地址', 
     type: 'GET', 
     dataType: 'JSONP', 
     success: function (res) { 
     self.data = res.data.slice(0, 3)
     self.opencode = res.data[0].opencode.split(',') 
     } 
     }) 
     } 
    }

    总结

    以上所述是小编给大家介绍的Vue项目中跨域问题解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

    显示全文