FormData对象

FormData对象简介:用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。如果表单enctype属性设为multipart/form-data ,则会使用表单的submit()方法来发送数据,从而,发送数据具有同样形式。

FormData 对象的 字段类型 可以是 BlobFile, 或者 string 如果它的字段类型不是Blob也不是File,则会被转换成字符串类

今天通过Element的上传组件,向后台发送文件 和 数字,发现是虽然文件上传成功,但是数字一直不起作用,问题就是如上原因了。

自己创建一个FormData对象,然后调用它的append()方法来添加字段

var formData = new FormData();

formData.append("username", "Groucho");
formData.append("accountnum", 123456); //数字123456会被立即转换成字符串 "123456"

// HTML 文件类型input,由用户选择
formData.append("userfile", fileInputElement.files[0]);

// JavaScript file-like 对象
var content = '<a id="a"><b id="b">hey!</b></a>'; // 新文件的正文...
var blob = new Blob([content], { type: "text/xml"});

formData.append("webmasterfile", blob);

var request = new XMLHttpRequest();
request.open("POST", "http://foo.com/submitform.php");
request.send(formData);

 

posted @ 2020-07-13 08:49  老白也是白  阅读(344)  评论(0)    收藏  举报