码迷,mamicode.com
首页 > 其他好文 > 详细

formData使用总结

时间:2017-08-19 20:11:19      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:enc   har   roc   api   class   key   vue   post   r++   

1.formData基本使用

//可以从form元素初始化一个FormData对象,或者new一个空对象
var formData = new FormData([fromElement]);

//可以添加一个新的键值对,从form初始化或空对象均可
formData.append(key,value);

//formData上传文件,form要设置enctype为multipart/form-data

<form id="uploadForm" enctype="multipart/form-data">
    <input id="file" type="file" name="file"/>
    <button id="upload" type="button">upload</button>
</form>

2.xhr使用formData

var newFormData = new FormData(someFormElement);
var formElement = document.getElementById("myFormElement");
var oReq = new XMLHttpRequest();
oReq.open("POST", "submitform.php");
oReq.send(new FormData(formElement));

还可以在已有表单数据的基础上,继续添加新的键值对,如下:

var formElement = document.getElementById("myFormElement");
formData = new FormData(formElement);
formData.append("serialnumber", serialNumber++);
oReq.send(formData);

3.jquery使用formData

$.ajax({
    url: ‘upload01.php‘,
    method: ‘POST‘,
    data: formData,
    contentType: false,//必须
    processData: false,//必须
    cache: false //上传文件不需要缓存
})

参数说明:
contentType
jquery ajax的默认值为‘application/x-www-form-urlencoded; charset=UTF-8‘,
如果有input type=“file”,则contentType应该为‘multipart/form-data’,设置为false,不让
jquery设置contentType

processData
jQuery会处理发送的数据,将数据按照‘application/x-www-form-urlencoded‘的
要求转换为查询字符串,如果要发送的数据是DOMDocument或者不需要处理,就可以设置为false不让jQuery
转换数据,我们这里要发送的数据其实就是DOMDocument

dataType
不要设置为json,让jquery根据http响应头的contentType去判断,返回一个合适的数据类型

4.vue-resource使用formData

var formData = new FormData();
formData.append(‘foo‘, ‘bar‘);

this.$http.post(‘/api‘, formData)

5.axios使用formData

6.superAgent使用formData

formData使用总结

标签:enc   har   roc   api   class   key   vue   post   r++   

原文地址:http://www.cnblogs.com/mengff/p/7397442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!