vue使用axios跨域请求数据问题详解

axios默认是没有jsonp 跨域请求的方法的。一般来说流行的做法是将跨域放在后台来解决,也就是后台开发人员添加跨域头信息。

例如java中的

header,response.setHeader("Access-Control-Allow-Origin", www.allow-domain.com)

但是很多时候,后台出于一些原因不想修改或者已经写好jsonp的接口需要适应不同平台,此时,前端就可以单独引入依赖解决该问题了。

引入依赖

cnpm install jsonp
 

导入到vue文件

import jsonp from 'jsonp'

使用方法(可以参考npm上 jsonp的文档说明)

jsonp("http://cross-domain.com",//替换网址
  {
    //jsonp的回调函数名
    name: 'success_jsonpCallback'
  },

  //注意第一个参数是 err,第二个参数是 data
  function (err, data) { 
    console.log(data);
  });

相关推荐