91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue使用axios實現文件上傳進度的實時更新詳解

發布時間:2020-09-14 15:12:15 來源:腳本之家 閱讀:474 作者:瑞雪 欄目:web開發

axios 簡介

axios 是一個基于Promise 用于瀏覽器和 nodejs 的 HTTP 客戶端,它本身具有以下特征:

  • 從瀏覽器中創建 XMLHttpRequest
  • 從 node.js 發出 http 請求
  • 支持 Promise API
  • 攔截請求和響應
  • 轉換請求和響應數據
  • 取消請求
  • 自動轉換JSON數據
  • 客戶端支持防止 CSRF/XSRF

引入方式:

$ npm install axios
//使用淘寶源
$ cnpm install axios
//或者使用cdn:
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

安裝其他插件的時候,可以直接在 main.js 中引入并使用 Vue.use()來注冊,但是 axios并不是vue插件,所以不能 使用Vue.use() ,所以只能在每個需要發送請求的組件中即時引入。

為了解決這個問題,我們在引入 axios 之后,通過修改原型鏈,來更方便的使用。

//main.js

import axios from 'axios'
Vue.prototype.$http = axios

在 main.js 中添加了這兩行代碼之后,就能直接在組件的 methods 中使用 $http命令

methods: {
postData () {
this.$http({
method: 'post',
url: '/user',
data: {
name: 'xiaoming',
info: '12'
}
})
}

更多的基礎知識大家可以參考這篇文章:https://www.jb51.net/article/110324.htm

vue使用axios實現文件上傳進度實時更新

XHR二級增加了progress事件,我們可以據此在瀏覽器接收新數據期間添加實時數據進度條,從而使得交互更加友好

vue模板

<div class="progress" @click="upload"
   :>

vue-js

 var form = new FormData()
 form.append('file', vm.$refs.upload.files[0])
 form.append('id', id)
 form.append('type', type)
 var config = {
  onUploadProgress: progressEvent => {
   var complete = (progressEvent.loaded / progressEvent.total * 100 | 0) + '%'
   this.progress = complete
  }
 }
 axios.post(`api/uploadFile`,
  form, config).then((res) => {
  if (res.data.status === 'success') {
   console.log('上傳成功')
  }
 })

關鍵點在于progress事件,而axios對ajax封裝之后需要在axios的config參數里面寫好事件處理函數(具體參數寫法可查看axios文檔)

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文登市| 四平市| 昌黎县| 如东县| 民勤县| 类乌齐县| 屯门区| 双流县| 崇州市| 广东省| 余江县| 原平市| 平南县| 朔州市| 泰安市| 新龙县| 新巴尔虎左旗| 鄯善县| 永和县| 宜丰县| 邻水| 湾仔区| 教育| 普陀区| 邵阳市| 延津县| 常熟市| 丰城市| 巢湖市| 汾阳市| 秦皇岛市| 双江| 眉山市| 寿光市| 鄢陵县| 扬中市| 宽城| 兴业县| 罗源县| 西乡县| 平远县|