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

时间:2023-03-08 21:18:33

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);
});