首頁 web前端 uni-app uniapp requrst怎麼設定公共頭(兩種方法)

uniapp requrst怎麼設定公共頭(兩種方法)

Apr 17, 2023 am 10:30 AM

在開發過程中,我們常會用UniApp來建立跨平台的應用程式。 UniApp是一個基於Vue.js的開源框架,它能夠將Vue.js的核心和一些跨平台的能力打包在一起,提供了一套完整的開發體驗。而在開發過程中,我們常常會需要發送網路請求來取得數據,此時,我們就需要設定一些公共頭部參數,以此來保障請求的準確、有效。

UniApp中,我們可以使用封裝好的uni.request來傳送網路請求。 uni.request具有很好的跨平台效能,在UniApp中封裝了原生的XMLHttpRequest和原生的axios擴展,可以用於發起HTTP/HTTPS請求。而對於設定公共頭部參數,有以下兩種常用方法。

方法一:在request的options中設定

// main.js
Vue.prototype.$http = function (url, data, method) {
  let token = uni.getStorageSync('token');
  let header = {
    'Authorization': token,
    'Content-type': 'application/json'
  };
  return uni.request({
    url,
    data,
    method,
    header
  })
}

// 调用
this.$http('/api/user', { id: 123, name: 'Tom' }, 'GET').then(res => {
  console.log(res)
})
登入後複製

其中,在main.js中定義了$ttp方法,在options中設定了公共頭部參數,呼叫時傳入具體的參數即可。

方法二:透過攔截器統一設定

// request.js
export function request(opts) {
  let token = uni.getStorageSync('token');
  let header = {
    'Authorization': token,
    'Content-type': 'application/json'
  };
  const interceptor = {
    request: (opts) => {
      opts.header = header;
      return opts;
    },
    response: (res) => {
      const { statusCode, data } = res;
      if (statusCode === 200) {
        return data;
      } else {
        uni.showToast({
          title: '请求失败',
          icon: 'none'
        })
        return Promise.reject(res);
      }
    }
  }
  uni.addInterceptor(interceptor);
  return uni.request(opts).finally(() => {
    uni.removeInterceptor(interceptor);
  })
}

// 调用
request({
  url: '/api/user?id=123&name=Tom',
  method: 'GET'
}).then(res => {
  console.log(res);
})
登入後複製

在此方法中,我們定義了一個request函數,在函數中透過攔截器攔截請求並設定公共頭部參數,然後透過uni.request來發起請求。呼叫request時,只需要傳入具體的參數即可。

綜上所述,我們可以看到,UniApp設定公共頭部參數的方法並不難,只需要在uni.request的options中設定即可,也可以透過攔截器統一設定,這樣可以提高程式碼的複用性,減少重複程式碼的編寫,是一個不錯的選擇。

以上是uniapp requrst怎麼設定公共頭(兩種方法)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

我如何使用Uni-App的社交共享API? 我如何使用Uni-App的社交共享API? Mar 13, 2025 pm 06:30 PM

本文詳細介紹瞭如何使用uni.share API將社交共享整合到Uni-App項目中,涵蓋了跨微信和微博等平台的設置,配置和測試。

如何使用Uni-App使用預處理器(Sass,少)? 如何使用Uni-App使用預處理器(Sass,少)? Mar 18, 2025 pm 12:20 PM

文章討論了在Uni-App中使用SASS和較少的預處理器,詳細的設置,福利和雙重用法。主要重點是配置和優勢。[159個字符]

您可以在Uniapp應用程序中執行哪些不同類型的測試? 您可以在Uniapp應用程序中執行哪些不同類型的測試? Mar 27, 2025 pm 04:59 PM

本文討論了針對Uniapp應用程序的各種測試類型,包括單元,集成,功能,UI/UX,性能,跨平台和安全測試。它還涵蓋了確保跨平台兼容性,並推薦Jes等工具

如何使用Uni-App的動畫API? 如何使用Uni-App的動畫API? Mar 18, 2025 pm 12:21 PM

本文介紹瞭如何使用Uni-App的動畫API,詳細介紹了創建和應用動畫,關鍵功能以及結合和控制動畫時機的方法。CharacterCount:159

如何減少Uniapp應用程序包的大小? 如何減少Uniapp應用程序包的大小? Mar 27, 2025 pm 04:45 PM

本文討論了減少Uniapp軟件包大小的策略,重點介紹代碼優化,資源管理以及諸如代碼拆分和懶惰加載等技術。

如何使用Uni-App的存儲API(uni.setstorage,uni.getStorage)? 如何使用Uni-App的存儲API(uni.setstorage,uni.getStorage)? Mar 18, 2025 pm 12:22 PM

本文介紹瞭如何使用Uni-App的存儲API(Uni.setStorage,Uni.GetStorage)進行本地數據管理,討論了最佳實踐,故障排除以及突出顯示限制和考慮因素,以進行有效使用。

Uni-App項目的文件結構是什麼? Uni-App項目的文件結構是什麼? Mar 14, 2025 pm 06:55 PM

本文詳細介紹了一個Uni-App項目的文件結構,並解釋了關鍵目錄,例如通用,組件,頁面,靜態和unicloud,以及諸如app.vue,main.js,subtest.json,pages.json和uni.scss之類的關鍵文件。它討論了這個o

哪些調試工具可用於Uniapp開發? 哪些調試工具可用於Uniapp開發? Mar 27, 2025 pm 05:05 PM

文章討論了用於Uniapp開發的調試工具和最佳實踐,重點關注Hbuilderx,微信開發人員工具和Chrome DevTools等工具。

See all articles