var formData = new FormData($("#formUpload")[0]);添加数据,以及为什么是添加[0]

本文深入解析了jQuery如何操作DOM元素及与FormData结合使用的方法。详细介绍了FormData对象的append和set方法的区别,以及如何通过jQuery获取DOM元素并将其作为FormData的一部分进行处理。同时,通过实例展示了如何使用jQuery和FormData进行AJAX请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为new FormData需要的是一个HtmlElement类型的数据,而jquery拿到的是HtmlElement集合,所以哪怕只有一个元素,也要用[0]取其第一个元素。

 

jQuery是一个伪数组对象,本身是对象,能表现出来数组的特点: 有length属性,能够用下标取值;

$(".someClass") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;

$("#id") // 这个时候将所有匹配到DOM元素对象放在jQuery维护的数组中;

 

 

用来添加数据,可以是字符串、Blod文件流、File文件流

formData.append('a', 1)意为添加一个键值对,重复添加的键不会被覆盖

formData.set('a', 1)意为修改某个键的值,如果不存在则作用等同于append,但是重复添加的值会相互覆盖

var formData = new FormData() ;

formData.append('a', 1);

formData.append('a', 2);

formData.set('b', 3) ;

formData.set('b', 4);

jQuery还可以调用next()last()等方法(返回结果也还是jQuery对象,jQuery链式功能);

 

举例

   $(function(){
       
       $("#add_address_btn").on("click",function(){
           var address = document.getElementsByClassName("cndzk-entrance-division-header-click-input-name");
           var detail = document.getElementsByClassName("cndzk-entrance-associate-area-textarea").innerHTML;
           var addressLink = "";
           for(var i=0;i<address.length;i++){
               addressDetail+=address[i].innerHTML;
           }
           var formData = new FormData($("myForm")[0]);
           addressDetail+=detail;
           formData.append("addressDetail",addressLink);
           console.log(addressDetail);
           return false;
           $.ajax({
             url : "/cgi/home/UserHome?function=AddDeliveryAddress",
             type : "post",
             dataType : "json",
             data : formData,
             success:function(data){
                 
             },error:function(jqXHR, textStatus, errorThrown){
                    //jqXHR对象的信息
                    console.log('jqXHR.responseText --> ',jqXHR.responseText);
                    console.log('jqXHR.status --> ',jqXHR.status);
                    console.log('jqXHR.readyState --> ',jqXHR.readyState);
                    console.log('jqXHR.statusText --> ',jqXHR.statusText);
                    //其他两个参数的信息
                    console.log('textStatus --> ',textStatus);
                    console.log('errorThrown --> ',errorThrown);
             }
           });
       });
   });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值