Jsonp解决跨域问题

一、安装Jsonp

npm install jsonp --save

二、封装组件

建一个axios文件夹,创建index.js文件

 1 import Jsonp from 'jsonp'
 2 import  axios from 'axios'
 3 import {Modal} from 'antd'
 4 export default  class Axios{
 5      static jsonp(options){
 6       return   new Promise((resolve,reject)=>{
 7              Jsonp(options.url,{
 8                  param:'callback'
 9              },function(err,response){
10                 if(response.status === 'success'){
11                     resolve(response);
12                 }else{
13                     reject(response.message);
14                 }
15              })
16          })
17      }
18 
19 }
View Code

三、调用

 1     getWeatherAPIData(){
 2         let city='北京'
 3         axios.jsonp({
 4             url:'http://api.map.baidu.com/telematics/v3/weather?location='+encodeURIComponent(city)+'&output=json&ak=3p49MVra6urFRGOT9s8UBWr2'
 5         }).then((res)=>{
 6             if(res.status === 'success'){
 7             let data =res.results[0].weather_data[0];
 8             this.setState({
 9                 dayPictureUrl:data.dayPictureUrl,
10                 weather:data.weather
11             })
12             }
13          }
14 
15         )
16     }
View Code

然后就实现了跨域请求

posted @ 2019-02-26 14:48  Haoyin-杰克  阅读(248)  评论(0编辑  收藏  举报