欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue網(wǎng)絡(luò)請求方案原生網(wǎng)絡(luò)請求和js網(wǎng)絡(luò)請求庫

 更新時間:2021年11月23日 16:07:58   作者:tby_37  
這篇文章主要為大家介紹了網(wǎng)絡(luò)請求方案原生網(wǎng)絡(luò)請求和js網(wǎng)絡(luò)請求庫的過程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步

一、?原生網(wǎng)絡(luò)請求

1. XMLHttpRequest(w3c標準)? ?

// 沒有promise時的產(chǎn)物

當(dāng)時的萬物皆回調(diào),太麻煩

2. Fetch? ?

// html5提供的對象,基于promise 因為promise的存在,為了簡化網(wǎng)絡(luò)請求。

使用 Fetch - Web API 接口參考 | MDN

Fetch是新的ajax解決方案 Fetch會返回Promise對象。fetch不是ajax的進一步封裝,而是原生js,沒有使用XMLHttpRequest對象。

參數(shù):

1、第一個參數(shù)是URL:

2、第二個設(shè)置請求的參數(shù),是可選參數(shù)

3、返回使用了Promise 來處理結(jié)果/回調(diào)

fetch(url, options).then(res=>res.json()/text()).then(ret=>console.log(ret))

兼容性問題:

ie低版本不兼容Fetch怎么辦? =》 用第三方的Fetch庫【fetch-polyfill】

使用fetch進行網(wǎng)絡(luò)請求 let url1 ?url2 ?兩個地址同時執(zhí)行完畢后才進行相關(guān)操作 Promise.all

let url1 不管它是否執(zhí)行成功我都要去處理 Promise.finally

?

?

fetch封裝網(wǎng)絡(luò)請求

二、 js網(wǎng)絡(luò)請求庫

axios

以promise類型返回 json 數(shù)據(jù)。

文檔:使用說明 · Axios 中文說明 · 看云

Axios 是一個基于 promise 的 HTTP 庫,可以用在瀏覽器和node.js中。

能攔截請求和響應(yīng),自動轉(zhuǎn)換JSON數(shù)據(jù)。axios也是vue作者推薦使用的網(wǎng)絡(luò)請求庫。

// axios.get/post/put/delete
axios.get(url,config) // config可以設(shè)置頭信息
axios.post(url,data,config)
axios.put(url,data,config)
axios.delete(url,data,config)

或通過實例請求

?

通過實例請求,添加設(shè)置信息(常用)!

不通過實例做統(tǒng)一設(shè)置(不常用),因為是給所有人都設(shè)置

// 統(tǒng)一給axios設(shè)置
axios.defaults.timeout = 10000
axios.defaults.baseURL = 'http://localhost:3000'
axios.defaults.headers.a = 'admin'

post提交

// post提交
axios.post(url, { id: 1, name: 'aaaa' }).then(res => console.log(res.data))

?或者? ? axios直接用?# 標準寫法(也不常用)

// axios直接用
axios({
  url,
  method:'get',
  data:{}
}).then(res => console.log(res))

攔截器 ? 切面編程

(流水線)? ?(中間件)

1. 請求攔截器(能調(diào)用多次)

axios.interceptors.request.use(config => {
  // 統(tǒng)一設(shè)置請求域名地址
  config.baseURL = 'http://localhost:3000'
  // 超時時間
  config.timeout = 1000
  // 設(shè)置頭信息
  config.headers.token = 'mytoken login'
  return config;
}, err => Promise.reject(err))

2. 響應(yīng)攔截器(處理、過濾)

axios.interceptors.response.use(response => {
  return response.data
}, err => {
  // 可以在響應(yīng)攔截器中統(tǒng)一去處理,請求異常
  alert('請求失敗了,請重新請求一次')
  return Promise.reject(err)
});

以上就是網(wǎng)絡(luò)請求方案原生網(wǎng)絡(luò)請求和js網(wǎng)絡(luò)請求庫的詳細內(nèi)容,更多關(guān)于原生網(wǎng)絡(luò)請求和js網(wǎng)絡(luò)請求庫的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • vue ssr服務(wù)端渲染(小白解惑)

    vue ssr服務(wù)端渲染(小白解惑)

    這篇文章主要介紹了vue ssr服務(wù)端渲染(小白解惑),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • vue-router配合ElementUI實現(xiàn)導(dǎo)航的實例

    vue-router配合ElementUI實現(xiàn)導(dǎo)航的實例

    下面小編就為大家分享一篇vue-router配合ElementUI實現(xiàn)導(dǎo)航的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue組件中點擊按鈕后修改輸入框的狀態(tài)實例代碼

    vue組件中點擊按鈕后修改輸入框的狀態(tài)實例代碼

    要求點擊修改按鈕之后部分輸入框由禁用狀態(tài)變?yōu)榭捎脿顟B(tài)。下面我給大家分享一段實例代碼基于vue組件中點擊按鈕后修改輸入框的狀態(tài),需要的的朋友參考下
    2017-04-04
  • Vue如何實現(xiàn)多頁面配置以及打包方式

    Vue如何實現(xiàn)多頁面配置以及打包方式

    這篇文章主要介紹了Vue如何實現(xiàn)多頁面配置以及打包方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • 淺談Vue下使用百度地圖的簡易方法

    淺談Vue下使用百度地圖的簡易方法

    本篇文章主要介紹了淺談Vue下使用百度地圖的簡易方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • vue?組件通信的多種方式

    vue?組件通信的多種方式

    這篇文章主要介紹了vue?組件通信的幾種方式,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • vue 中使用print.js導(dǎo)出pdf操作

    vue 中使用print.js導(dǎo)出pdf操作

    這篇文章主要介紹了vue 中使用print.js導(dǎo)出pdf操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • vue實現(xiàn)把接口單獨存放在一個文件方式

    vue實現(xiàn)把接口單獨存放在一個文件方式

    這篇文章主要介紹了vue實現(xiàn)把接口單獨存放在一個文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Vue3中多個彈窗同時出現(xiàn)的解決思路

    Vue3中多個彈窗同時出現(xiàn)的解決思路

    這篇文章主要介紹了Vue3中多個彈窗同時出現(xiàn)的解決思路,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • vue中點擊按鈕下載文件的實現(xiàn)方式

    vue中點擊按鈕下載文件的實現(xiàn)方式

    這篇文章主要介紹了vue中點擊按鈕下載文件的實現(xiàn)方式,具有很的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10

最新評論