最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue項(xiàng)目中使用jsonp抓取跨域數(shù)據(jù)的方法

 更新時(shí)間:2019年11月10日 10:22:05   作者:素素  
這篇文章主要介紹了Vue項(xiàng)目中使用jsonp抓取跨域數(shù)據(jù)的方法,本文通過實(shí)例代碼講解的非常詳細(xì),需要的朋友可以參考下
  • 下載jsonp npm install jsonp
  • 在js文件夾下新增一個(gè)jsonp.js,來封裝一個(gè)jsonp()

如何封裝一個(gè)jsonp()

在下載的jsopn中,jsonp(url,options,callback)這個(gè)是原生jsonp方法中的參數(shù);

引入下載的jsonp

import originJsonp from 'jsonp';

導(dǎo)出自己定義的jsonp函數(shù)

//這個(gè)jsonp函數(shù)是我們自己定義的,與上面的originJsonp不是同一個(gè),originJsonp是一個(gè)可以直接引用的方法;她最        

終返回一個(gè)Promise對(duì)象

 export default function jsonp(url, data, option){
  return new Promise((resolve,reject)=>{
  //調(diào)用originJsonp()來抓取數(shù)據(jù)
   originJsonp(url,option,(err,data)=>{ //callback是抓取數(shù)據(jù)結(jié)果
    if(!err){
    resolve(data)
    }ese{
    reject(err)
    }
   })
  })
}

在抓取的數(shù)據(jù)URL中常常會(huì)有參數(shù)傳入,但是這些參數(shù)是對(duì)象格式,但是我們傳入到originJsonp方法中的參數(shù)是拼接到url后面的,所以不能是對(duì)象的格式,這時(shí)就需要將對(duì)象格式的參數(shù)拼接到url后面組成新的URL

類似這樣的一個(gè)url:( https://www.baidu.com/s?ie=ut... ;

這里參數(shù)data:{

ie:utf-8,
       rsv_bp:1
      }
export function param(data){
let urlData='';
for(let key in data){
 let value = data[k] !== undefined ? data[k] : '' ;//用來判斷data是不是空
 //將data拼接起來
 if(vaule){
 urlData += ·'&'${k}=${encodeURIComponent(value)}·;//encodeURIComponent將進(jìn)行網(wǎng)址的拼接   (encodeURIComponent()是將字符串轉(zhuǎn)換成url地址
 }
}
 return urlData ? urlData.substring(1):''; //url.substring(1)的原因是,有可能這個(gè)url后面接的參數(shù)用的是'?‘;我們只需要將參數(shù)用‘&'連接起來,不用管URL后面緊接的那個(gè)符號(hào)【是?還是&】
}

將函數(shù)param引用到函數(shù)jsonp中

export default function jsonp(url, data, option) {
  return new Promise((resolve,reject)=>{
   //調(diào)用跨域請(qǐng)求函數(shù)
   //對(duì)URL進(jìn)行拼接,首頁需要判斷URL后面是否有“?”,如果有這需要給param(data)添加“&”,不然需要給param(data)添加“?”
   url = url.indexOf('?')<0 ? '?':'&' + param(data);
   originJsonp(url,option,(err,data)=>{
    //這里的url就是完整的請(qǐng)求地址,需要包括參數(shù)
    if(!err){
     resolve(data) //請(qǐng)求成功
    }else{
     reject(err) //失敗
    }
   })
  })
 }

總結(jié)

以上所述是小編給大家介紹的Vue項(xiàng)目中使用jsonp抓取跨域數(shù)據(jù)的方法,希望對(duì)大家有所幫助!

相關(guān)文章

  • vue作用域插槽詳解、slot、v-slot、slot-scope

    vue作用域插槽詳解、slot、v-slot、slot-scope

    這篇文章主要介紹了vue作用域插槽詳解、slot、v-slot、slot-scope,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue的路由映射問題及解決方案

    vue的路由映射問題及解決方案

    這篇文章主要介紹了vue的路由映射問題及解決方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • 跟混亂的頁面彈窗說再見

    跟混亂的頁面彈窗說再見

    這篇文章主要介紹了跟混亂的頁面彈窗說再見,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Vue 讀取HTMLCollection列表的length為0問題

    Vue 讀取HTMLCollection列表的length為0問題

    這篇文章主要介紹了Vue 讀取HTMLCollection列表的length為0問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 關(guān)于vue.extend和vue.component的區(qū)別淺析

    關(guān)于vue.extend和vue.component的區(qū)別淺析

    最近工作中遇到了vue.extend,vue.component,但二者之間的區(qū)別與聯(lián)系是什么呢?下面這篇文章主要給大家介紹了關(guān)于vue.extend和vue.component區(qū)別的相關(guān)資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Vue父組件監(jiān)聽子組件生命周期

    Vue父組件監(jiān)聽子組件生命周期

    這篇文章主要介紹了Vue父組件監(jiān)聽子組件生命周期,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • vue?如何刪除數(shù)組中的某一條數(shù)據(jù)

    vue?如何刪除數(shù)組中的某一條數(shù)據(jù)

    這篇文章主要介紹了vue?如何刪除數(shù)組中的某一條數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 如何在Vue3中實(shí)現(xiàn)文件上傳功能結(jié)合后端API

    如何在Vue3中實(shí)現(xiàn)文件上傳功能結(jié)合后端API

    文件上傳的功能實(shí)現(xiàn)是我們做Web應(yīng)用時(shí)候最為常見的應(yīng)用場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何在Vue3中實(shí)現(xiàn)文件上傳功能結(jié)合后端API的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-09-09
  • Antd form表單的使用、設(shè)值、取值、清空值方式

    Antd form表單的使用、設(shè)值、取值、清空值方式

    這篇文章主要介紹了Antd form表單的使用、設(shè)值、取值、清空值方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • 學(xué)習(xí)vue.js計(jì)算屬性

    學(xué)習(xí)vue.js計(jì)算屬性

    這篇文章主要和大家一起學(xué)習(xí)vue.js的計(jì)算屬性,分享一些計(jì)算屬性練習(xí)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12

最新評(píng)論

阿图什市| 金秀| 云南省| 巍山| 沂水县| 大荔县| 涿鹿县| 鸡西市| 德惠市| 天门市| 蓬安县| 库车县| 唐山市| 青冈县| 睢宁县| 济南市| 平舆县| 开平市| 文安县| 通河县| 永嘉县| 阜阳市| 含山县| 涞源县| 和田县| 西乌| 堆龙德庆县| 新晃| 永新县| 喀什市| 即墨市| 开远市| 康平县| 峨边| 三门峡市| 侯马市| 威信县| 原阳县| 普洱| 仁怀市| 胶南市|