vue使用jsonp跨域

1.安装依赖

npm install jsonp

2.在vue文件中使用

import originJSONP from 'jsonp'

//后端接口返回的数据为字符串
//ckp({"cityid":"101190201","date":"2020-11-14"}})
//该字符串实际是把数据用ckp()函数包裹
//ckp就是前后端约定的jsonP前缀
let url4 = 'https://www.xxxapi.com/api?callback=ckp';
let opts={
    prefix:'ckp'
}
//发起jsonP请求
originJSONP(url4, opts, (err, data) => {
    console.log('????????????????===')
    if (!err) {
        console.log(data);
        this.weatherJson = data;
    } else {
        console.log(err)
    }
});

 

3.originJSONP函数介绍

originJSONP(url, opts, fn),有3个参数 
1.fn 回调方法,用es6 Promise
2.url (String) 服务器端数据接口地址
3.opts (Object) 一般只需关注param即可 
 3.1 param (String) 默认是callback,这是与后端约定的参数名称,也可以随便定义,只要前后端统一
 3.2 timeout (Number) 请求超时时间,默认是6000ms
 3.3 prefix (String) callback值的前缀,默认是__jp
 3.4 name (String) 指定全局注册的回调方法名,一般不会用到,因为默认是prefix+自增数字