ajax上傳圖片,HTML5可預覽多圖片ajax上傳(使用formData傳遞數據)

HTML5可預覽多圖片ajax上傳(使用formData傳遞數據)

在介紹上傳圖片之前,我們簡單的來了解下FormData的基本使用;介紹完成后這些基本知識后,我們會在文章最后提供一個demo,就是ajax多圖片上傳前預覽效果。

1. formData的基本的用法:

首先創建一個 空對象實例 代碼如下:

var formData = new FormData();

1-1 獲取值

通過get(key)/getAll(key)來獲取對應的value;比如:

formData.get("name"); //獲取key為name的第一個值。

formData.getAll("name"); //返回一個數組,獲取key為name的所有值。

比如如下HTML代碼:

標題

//表單初始化

varform=document.getElementById('myForm');varsubmitId=document.getElementById("submitId");

submitId.addEventListener('click',function(e){

e.preventDefault();varformData= newFormData(form);//獲取名字

varname=formData.get("name");varpsw=formData.get("password");

console.log(name);

console.log(psw);//使用getAll 獲取name為n1的所有值

vararrs=formData.getAll("n1");

console.log(arrs);//返回一個數組

},false);

1-2 添加數據

可以通過append(key, value)來添加數據,如果指定的key不存在則會新增一條數據,如果key存在,則添加到數據的末尾。

var formData = newFormData();

formData.append('name', 'kongzhi1');

formData.append('name', 'kongzhi2');

formData.append('name', 'kongzhi3');

console.log(formData.get('name')); //kongzhi1

console.log(formData.getAll('name')); //["kongzhi1", "kongzhi2", "kongzhi3"]

1-3 設置修改數據

可以通過 set(key, value)來設置修改數據,如果指定的key不存在則會新增一條,如果存在,則會修改對應的值。

var formData = newFormData();

formData.append("name", 'kongzhi1');

console.log(formData.getAll("name")); //["kongzhi1"]

formData.set("name", 'kongzhi2');

console.log(formData.getAll("name")); //["kongzhi2"]

1-4 判斷是否存在該數據

我們可以通過has(key) 來判斷是否有對應的key值。

var formData = newFormData();

formData.append("name", 'kongzhi1');

formData.append("name2", null);

console.log(formData.has("name")); //true

console.log(formData.has("name2")); //true

console.log(formData.has("name3")); //false

1-5 刪除數據

通過delete(key), 來刪除數據。

var formData = newFormData();

formData.append("name", "kongzhi1");

formData.append("name", "kongzhi2");

console.log(formData.getAll("name")); //["kongzhi1", "kongzhi2"]

formData.delete("name");

console.log(formData.getAll("name")); //[]

二:使用XMLHttpRequest formData上傳文件

XMLHttpRequest2 定義了FormData類型,FormData為序列化表單以及創建與表單格式相同的數據(用於通過xhr數據傳輸)提供了便利。

瀏覽器支持:IE9及IE9-不支持。

原審XMLHttpRequest提交formData數據如下demo:

標題

上傳圖片

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值