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

Vue 使用formData方式向后臺發(fā)送數(shù)據(jù)的實現(xiàn)

 更新時間:2019年04月14日 09:57:39   作者:邢走在云端  
這篇文章主要介紹了Vue 使用formData方式向后臺發(fā)送數(shù)據(jù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

很多時候在使用form向后臺發(fā)送數(shù)據(jù)的時候,并不需要使用到表單組件。

例如時間戳、ip等,這個時候除了ajax之外,還可以使用HTML5的一個全新方法FormData;在input[type = file]的文件類型中,很多時候想要把一張圖片或者是使用canvas繪制好的圖像傳送到后臺時,無法賦值給file文件,只能轉換為base64類型傳送到后臺,然后由后臺轉換為圖片再進行服務器存儲;此過程較為復雜;

使用formdata,只需創(chuàng)建新的formdata對象,將要發(fā)送的數(shù)據(jù)添加進去,后臺即可接收;數(shù)據(jù)以及文件對象皆可;

1. 基本使用方式

template

<input class="file" name="file" type="file" accept="image/png,image/gif,image/jpeg" @change="update"/>

JavaScript

update (e) {
  let file = e.target.files[0]
  // console.log(file)
  let param = new FormData() // 創(chuàng)建form對象
  param.append('file', file, file.name) // 通過append向form對象添加數(shù)據(jù)
  param.append('id', this.$store.state.userId) // 添加form表單中其他數(shù)據(jù)
   // withCredentials: true 使得后臺可以接收表單數(shù)據(jù) 跨域請求
  const instance = axios.create({
    withCredentials: true
  })
  // url為后臺接口
  instance.post('url', param)
    .then(this.succ) // 成功返回信息 調(diào)用函數(shù) 函數(shù)需自己定義,此處后面省略
    .catch(this.serverError) // 服務器錯誤 調(diào)用對應函數(shù) 函數(shù)需自己定義,此處后面省略
}

2. 美化 input file 按鈕 (拓展)

思路:

  1. 簡單粗暴地隱藏:opacity: 0;
  2. 在 <input class="file"> 元素節(jié)點的位置上創(chuàng)建一個好看的元素節(jié)點,比如img
  3. 將 <input class="file"> 元素的z軸變高,使得其覆蓋<img/> :z-index: 5;
  4. 因為 <input class="file"> 是透明的,那么我們就只看見它同xy上的好看的<img />
  5. 點擊這個好看的<img /> 其實是點擊了它上層的表單

以上思路可以實現(xiàn)點擊用戶頭像,通過表單上傳更換頭像,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

吴江市| 大竹县| 山阴县| 新河县| 华安县| 杭锦旗| 招远市| 华宁县| 吴堡县| 孙吴县| 曲麻莱县| 仙桃市| 巫山县| 西宁市| 广州市| 马龙县| 滨州市| 大化| 游戏| 和政县| 塔城市| 昆明市| 南汇区| 隆尧县| 开封市| 南溪县| 长宁县| 庆安县| 栖霞市| 崇阳县| 大姚县| 博客| 宁津县| 澳门| 宜兴市| 珠海市| 什邡市| 公安县| 辽阳县| 舟曲县| 海丰县|