欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

vue实现跨域的方法分析

程序员文章站 2024-03-31 10:09:40
本文实例讲述了vue实现跨域的方法。分享给大家供大家参考,具体如下: 在请求的资源上没有“访问控制允许源”标头。因此,“http://loalhoal:8081”是不...

本文实例讲述了vue实现跨域的方法。分享给大家供大家参考,具体如下:

vue实现跨域的方法分析

在请求的资源上没有“访问控制允许源”标头。因此,“http://loalhoal:8081”是不允许访问的。

出现这个报错就说明,浏览器限制了跨域,需要设置跨域

一、后台更改header

header('access-control-allow-origin:*');//允许所有来源访问
header('access-control-allow-method:post,get');//允许访问的方式

二、使用jquery提供的jsonp需要vue中引入jquery,不是今天讲的重点

methods: {
 getdata () {
  var that = this
  $.ajax({
   url: 'yoururl',
   type: 'get',
   datatype: 'jsonp',
   success: function (res) {
    that.data = res.data;
   }
  })
 }
}

三、使用vue-cli脚手架搭建项目时候的proxytable解决跨域

在config目录下的index.js的proxytable配置:

第一种:

proxytable: {
    '/api': { //使用"/api"来代替"http://v.juhe.cn/toutiao/index"
      target: 'http://v.juhe.cn/toutiao/index', //源地址
      changeorigin: true, //改变源
      pathrewrite: {
       '^/api': '' //路径重写
       }
     }
  },

this.axios.post("/api?type=keji&key=yourkey").then(res => {
 console.log("api:"+res);
 this.kjnews = res.data.result.data;
});

注意:路径重写后面是空的不然请求不成功,最后配置完之后还要npm run dev重启一下

希望本文所述对大家vue.js程序设计有所帮助。