您的位置 >>> 星想互联 >>> 编程技术 >>> JQUERY+JS
FormData对象
点击数:419  发布时间2020-03-22 19:26:10

FormData对象用以将数据编译成键值对,以便用XMLHttpRequest来发送数据。其主要用于发送表单数据,但亦可用于发送带键数据(keyed data),而独立于表单使用。

 

你可以自己创建一个FormData对象,然后调用它的append()方法来添加字段,像这样:

var formData = new FormData();

formData.append("username", "Groucho");

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

// HTML 文件类型input,由用户选择

formData.append("userfile", fileInputElement.files[0]);

 

想要构造一个包含Form表单数据的FormData对象,需要在创建FormData对象时指定表单的元素。

注意:FormData将仅使用具有name属性的输入字段。

示例:

var formData = new FormData(someFormElement);

    <form action="" id='myform'>

        <input type="text" name='title'>

        <input type="text" name='fdate'>

        <input type="submit" value='提交'>

    </form>

    <script>

        document.getElementById('myform').onsubmit=function(){

            var rs=new FormData(this);

            var xh=new XMLHttpRequest();

            xh.open('post','show.php');

            xh.send(rs);

            return false;

        }

    </script>

 

show.php:

    <?php

        echo json_encode($_POST);

    ?>

 

如果你设置正确的配置项,你也可以通过jQuery来使用FormData对象:

var fd = new FormData(document.querySelector("myform"));

fd.append("CustomField", "This is some extra data");

$.ajax({

  url: "stash.php",

  type: "POST",

  data: fd,

  processData: false,  // 不处理数据

  contentType: false   // 不设置内容类型

});

来源:咸宁网站建设
【上一篇】2020年19级测试名单
【下一篇】本地存储localStorage