AJAX中data的三种格式的特点分析

本文详细介绍了使用Ajax向后台发送请求时的三种数据提交格式及其优缺点:对象形式提交单个参数;字符串形式提交单个或多个参数;利用FormData对象提交包括文件在内的多种类型数据。

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

ajax向后台发送请求时,可以通过data提交参数,data的数据格式有三种格式:

1)第一种:

1.1格式:data:{ k1:v1,

             k2:v2,

                  .... }        

    1.2劣势:只能向后台提交一个参数名对应一个参数值的字符串类型的数据。

    1.3 优势:结构简单,常用于查询,修改,新增等操作。

  2)第二种:

2.1格式:data:k1=v1&k2:v2&....

    2.2优势:不但能够向后台提交一个参数名对应一个参数值的数据,

           还能向后台提交一个参数名对应多个参数值的数据,常用于多项删除和导出等操作。

    2.3 劣势:操作麻烦,请求前要进行字符串的拼接,且只能向后台提交字符串类型的数据。

  3)第三种:

格式:data:FormData对象,以传递.xls文件为例。                                

var 文件名=$("选择器").val();//获取文件名           
var suffix=activityFileName.substr(文件名.lastIndexOf(".")+1).toLocaleLowerCase();
//获取文件的扩展名即(.xls)

 if(suffix!="xls"){
                    alert("只支持xls文件");
                    return;
                  }

               var 文件=$("选择器")[0].files[0];//获取文件

//FormData是ajax提供的接口,可以模拟键值对向后台提交参数;

                    //FormData不但能提交文本数据,还能提交二进制数据

var formData=new FormData();

formData.append("文件名",文件);

                    //发送请求

                    $.ajax({

                             url:'...',

                             data:formData,
                             
                             dataType:'...',

                             processData:false,//设置ajax向后台提交参数之前,是否把参数统一转换成字符串
                             contentType:false,//设置ajax向后台提交参数之前,是否把所有的参数统一按urlencoded编码

                             type:'post',

                          success:funtion(data){...}
                            });

     优势:不但能提交字符串数据,还能提交二进制数据,常用于递交文件。

     劣势:操作更加复杂。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值