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

Vue項目中使用jsonp抓取跨域數據的方法

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

如何封裝一個jsonp()

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

引入下載的jsonp

import originJsonp from 'jsonp';

導出自己定義的jsonp函數

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

終返回一個Promise對象

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

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

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

這里參數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將進行網址的拼接   (encodeURIComponent()是將字符串轉換成url地址
 }
}
 return urlData ? urlData.substring(1):''; //url.substring(1)的原因是,有可能這個url后面接的參數用的是'?‘;我們只需要將參數用‘&'連接起來,不用管URL后面緊接的那個符號【是?還是&】
}

將函數param引用到函數jsonp中

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

總結

以上所述是小編給大家介紹的Vue項目中使用jsonp抓取跨域數據的方法,希望對大家有所幫助!

相關文章

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

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

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

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

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

    跟混亂的頁面彈窗說再見

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

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

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

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

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

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

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

    vue?如何刪除數組中的某一條數據

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

    如何在Vue3中實現文件上傳功能結合后端API

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

    Antd form表單的使用、設值、取值、清空值方式

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

    學習vue.js計算屬性

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

最新評論

桐庐县| 岑巩县| 将乐县| 巨野县| 赣州市| 铁岭县| 赤壁市| 彝良县| 珲春市| 阿克陶县| 中西区| 浙江省| 新乡市| 剑阁县| 天全县| 平利县| 尼玛县| 阿瓦提县| 枣强县| 唐海县| 读书| 西安市| 金沙县| 北海市| 北碚区| 建德市| 青浦区| 会泽县| 抚松县| 景宁| 石狮市| 隆德县| 祁阳县| 德令哈市| 桦南县| 武威市| 嫩江县| 余干县| 札达县| 黄浦区| 平南县|