国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

vue axios不緩存get請(qǐng)求(防止返回304不更新數(shù)據(jù))

lykops / 3056人閱讀

摘要:最近做項(xiàng)目遇到一款瀏覽器,由于緩存了請(qǐng)求,導(dǎo)致不管如何刷新,數(shù)據(jù)都不更新的問題。以下分享一下解決辦法解決思路就是給每一條請(qǐng)求增加一個(gè)的參數(shù),為時(shí)間戳但是我們又不想每次請(qǐng)求都加上,所以希望全局配置。

最近做項(xiàng)目遇到一款瀏覽器,由于緩存了get請(qǐng)求,導(dǎo)致不管如何刷新,數(shù)據(jù)都不更新的問題。
以下分享一下解決辦法:
解決思路就是給每一條get請(qǐng)求增加一個(gè)timestamp的參數(shù),value為時(shí)間戳
但是我們又不想每次請(qǐng)求都加上,所以希望全局配置。
解決方法在代碼最下方

import axios from "axios"
// import { Spin } from "iview"
import {
  getToken
} from "@/libs/util"
import Vue from "vue"
const vueInstance = new Vue()

class HttpRequest {
  constructor(baseUrl = baseURL) {
    this.baseUrl = baseUrl
    this.queue = {
    }
  }
  getInsideConfig() {
    const config = {
      baseURL: this.baseUrl,
      timeout: 60000,
      headers: {
        Authorization: getToken() || "",
        post: {
          "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8"
        }
      }
    }
    return config
  }
  destroy(url) {
    delete this.queue[url]
  }
  interceptors(instance, url) {
    // 請(qǐng)求攔截
    instance.interceptors.request.use(config => {
      this.queue[url] = true
      return config
    }, error => {
      return Promise.reject(error)
    })
    // 響應(yīng)攔截
    instance.interceptors.response.use(res => {
      this.destroy(url)
      const {
        data,
        status
      } = res
      if (data.code && data.code !== 200) {
        vueInstance.$Modal.error({
          title: data.code,
          content: data.message || data.error || "系統(tǒng)出錯(cuò)"
        })
      }
      return {
        data,
        status
      }
    }, error => {
      this.destroy(url)
      return Promise.reject(error)
    })
  }
  request(options) {
    const instance = axios.create()

    if (!options["method"]) { //沒有method的請(qǐng)求為get,判斷為get請(qǐng)求
      if (!options["params"]) { //如果這個(gè)請(qǐng)求本身不帶參數(shù)
        Object.assign(options, {   //給options這個(gè)對(duì)象添加一個(gè)params的參數(shù),屬性為timestamp,值為時(shí)間戳
          params: {
            timestamp: new Date().getTime()
          }
        })
      } else {
        Object.assign(options.params, { //如果get請(qǐng)求本身帶有參數(shù),給options.params 再添加一個(gè)key值timestamp,值為時(shí)間戳
          timestamp: new Date().getTime()
        })
      }
    }
    options = Object.assign(this.getInsideConfig(), options)
    this.interceptors(instance, options.url)
    return instance(options)
  }
}
export default HttpRequest //返回HttpRequest對(duì)象

由于時(shí)間倉促,這段代碼沒有做太多優(yōu)化,只給大家提供思路。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/109016.html

相關(guān)文章

  • vue axios緩存get請(qǐng)求(防止返回304更新數(shù)據(jù))

    摘要:最近做項(xiàng)目遇到一款瀏覽器,由于緩存了請(qǐng)求,導(dǎo)致不管如何刷新,數(shù)據(jù)都不更新的問題。以下分享一下解決辦法解決思路就是給每一條請(qǐng)求增加一個(gè)的參數(shù),為時(shí)間戳但是我們又不想每次請(qǐng)求都加上,所以希望全局配置。 最近做項(xiàng)目遇到一款瀏覽器,由于緩存了get請(qǐng)求,導(dǎo)致不管如何刷新,數(shù)據(jù)都不更新的問題。以下分享一下解決辦法:解決思路就是給每一條get請(qǐng)求增加一個(gè)timestamp的參數(shù),value為時(shí)間戳...

    jayzou 評(píng)論0 收藏0
  • 騰訊一面(2019前端實(shí)習(xí)崗)

    摘要:前言之前投遞了騰訊的實(shí)習(xí)生前端崗,一直沒有電話,查了下狀態(tài)說不合適,以為涼涼了,今天卻收到了電話,出乎意料然后就開始了一面,一開始面試官說時(shí)間不會(huì)太久,大概分鐘吧,結(jié)果整個(gè)過程也就持續(xù)了分鐘吧。 前言 之前投遞了騰訊的實(shí)習(xí)生前端崗,一直沒有電話,查了下狀態(tài)說不合適,以為涼涼了,今天卻收到了電話,出乎意料...然后就開始了一面,一開始面試官說時(shí)間不會(huì)太久,大概30分鐘吧,結(jié)果整個(gè)過程也就...

    jas0n 評(píng)論0 收藏0
  • vue axios 簡(jiǎn)單封裝以及思考

    摘要:先安裝的詳細(xì)介紹以及用法就不多說了請(qǐng)移步下面是簡(jiǎn)單的封裝一個(gè),在此說明這個(gè)方法呢是不一定需要的,根據(jù)個(gè)人的項(xiàng)目需求吧,也可以直接返回,交給后面另行處理也行。或者根據(jù)后端返回的狀態(tài),在里面進(jìn)行處理也行。先安裝 axios npm install axios axios的詳細(xì)介紹以及用法 就不多說了請(qǐng) 移步 github ??? https://github.com/axios/axios ...

    phoenixsky 評(píng)論0 收藏0
  • 我的前端進(jìn)階之路

    摘要:事件模型事件捕獲階段。事件到達(dá)目標(biāo)元素觸發(fā)目標(biāo)元素的監(jiān)聽函數(shù)。的狀態(tài)值與狀態(tài)碼的狀態(tài)值未初始化還沒有調(diào)用方法。載入完成已經(jīng)執(zhí)行完成,已經(jīng)接收到全部的響應(yīng)內(nèi)容。 前言 總括: 包含這三個(gè)月來碰到的一些覺得比較好的面試題,三個(gè)月沒怎么寫博客著實(shí)有些手癢,哈哈哈。7000余字,不成敬意2333 原文地址:我的前端進(jìn)階之路 知乎專欄&&簡(jiǎn)書專題:前端進(jìn)擊者(知乎)&&前端進(jìn)擊者(簡(jiǎn)書) 博主...

    cloud 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<