【前端】formdata获取表单两种方法


//上传文件 选择new一个formdata 必须用ajax请求

var formData = new FormData($('#myForm')[0]);      

            $.ajax({
                url: API.USER_ADD.add,
                type: 'POST',
                cache: false,
                data: formData,
                processData: false,
                contentType: false
            }).done(function(data) {
                
                if(data.code == 200){
console.log('yes')
            }).fail(function(data) {
                console.log('no')

            });

//其他可用封装形式

function getFormData(form){
      var data = form.serialize();
      data = decodeURI(data);
      var arr = data.split('&');
      var item,key,value,newData={};
      for(var i=0;i<arr.length;i++){
          item = arr[i].split('=');
         key = item[0];
          value = item[1];
          if(key.indexOf('[]')!=-1){
          key = key.replace('[]','');
          if(!newData[key]){
          newData[key] = [];
          }
          newData[key].push(value);
          }else{
          newData[key] = value;
          }
     }
      return newData;
}

var fordata=getFormData(参数);//调用



  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
前端使用FormData对象可以将表单数据上传到后端。在后端接收到FormData对象后,可以使用不同的方式进行处理,下面介绍两种处理方式。 第一种方式:使用Spring MVC框架 如果后端使用Spring MVC框架,可以使用@RequestParam注解接收FormData对象中的参数,具体代码如下: ```java @PostMapping("/upload") public String handleUpload(@RequestParam("file") MultipartFile file) { // 处理上传文件 // ... return "success"; } ``` 说明: 1.使用@PostMapping注解标识处理上传请求的方法。 2.使用@RequestParam注解接收FormData对象中的参数,其中参数名为"file"。 3.参数类型为MultipartFile,可以通过该对象获取上传的文件内容和文件名等信息。 第二种方式:使用原生Servlet API 如果后端使用原生Servlet API,可以使用request.getParameter()方法获取FormData对象中的参数,具体代码如下: ```java protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); String age = request.getParameter("age"); // ... } ``` 说明: 1.使用doPost()方法接收上传请求。 2.使用request.getParameter()方法获取FormData对象中的参数,其中参数名为"name"和"age"。 3.通过获取的参数值进行后续处理。 注意:在使用第二种方式处理FormData对象时,如果上传的文件内容较大,可能会出现内存溢出问题。此时可以使用Apache Commons FileUpload库或Servlet 3.0的Part接口等方式进行文件上传处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值