Formdata对象的使用

FormData类型

一般的使用场景:

1 模拟表单控件

2 用来传输二进行文件

基本的操作方法:

console.log(formdata) 这个打印出来的结果 始终为{} 它有一个隐藏域  所有的操作对象的方法全部是在它的原型中

  var formdata = new FormData();

    console.log(formdata)

    console.log(formdata.__proto__)

结果:


基本的操作方法:

append 添加

      formdata.append('name','xiaowang')

      formdata.append('name','xiaoliu') 

set 重置属性

      formdata.set('name','xiaohong') 

get 获取属性的第一个值

getAll 获取属性的全部的值 返回的是一个数组

delete 删除属性

      var formdata = new FormData();

      formdata.append('name','xiaowang')

      formdata.append('name','xiaoliu')

      console.log('append----')

      console.log(formdata.get('name'))

      console.log(formdata.getAll('name'))

      formdata.set('name','xiaohong')

      console.log('set---')

      console.log(formdata.get('name'))

      console.log(formdata.getAll('name'))

      formdata.delete('name')

      console.log('delete---') 

      console.log(formdata.get('name'))

      console.log(formdata.getAll('name'))

结果:


将JSON转化为FormData

    // json to formdata

    function JSON2FormData(json) {

        var formdata = new FormData();

        for (let key in json) {

            formdata.append(key, json[key])

        }

        return formdata

    }

将formdata转化为json

// formdata to json

    function FormData2JSON(formdata) {

        var json = {}

        var entries = formdata.entries();

        var item = entries.next();

        console.log(item)

        while (!item.done) {

            json[item.value[0]] = item.value[1];

            item = entries.next();

        }

        return json;

    }

github:https://github.com/zhujunzhujunzhu/formdataOpe.git

FormData ajax请求需要注意的一点:

不需要设置请求头  也就是不需要:

request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容