vue jsonp跨域

由於瀏覽器的同源策略,我們在碰到一些需要跨域的請求時需要一定的方式

1.首先在npm環境下下載jsonp

npm install jsonp --d

2.自定義js文件對jsonp進行封裝

import  orginJSONP from 'jsonp'

export default function jsonp(url,data,option) {
  url+=(url.indexOf('?')<0?'?':'&')+param(data);
  return new Promise((resolve,reject)=>{
    orginJSONP(url,option,(err,data)=>{
      if(!err){
        resolve(data)
      }else{
        reject(err)
      }
    })
  })
}
function param(data) {
  let url = '';
  for(var k in data){
    let values = data[k]!== undefined?data[k]:'';
    url+=`&${k}=${encodeURIComponent(values)}`
  }
  return url?url.substring(1):''
}

3.調用jsonp方法

import jsonp from '相對路徑'
export function  getSomeThing(){
  const url = '目標地址';
  const data = {
     需要傳的參數
  }
  return jsonp(url,data)
}

4.獲取得到的數據

getSomeThing().then((res)=>{
       console.log(res)
      })

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章