form表单提交数据格式(提交表单的4种方式)

1.说明

项目中使用form表单配合ajax同时提交文件和其他的参数,具体实现请看代码

2.前端代码

  1. form表单部分

前台提交的是方式是form表单方式,提交内容包括普通的参数和文件

<form action=\"\" class=\"form-horizontal \" id=\"equipmentTypeform\" enctype=”	multipart/form-data”/>

            <input type=\"text\" class=\"form-control\" id=\"manufacturer\" name=\"manufacturer\">

   			<input type=\"text\" class=\"form-control\" maxlength=\"20\" id=\"equipmentTypeNm\" name=\"equipmentTypeNm\" placeholder=\"请输入设备类别名称\">

            <a href=\"javascript:fileChange();\"  data-item=\"import\" class=\"btn btn-primary btn-xs m-5\"><i class=\"fa fa-eye\"></i>导入</a><span id=\"importName\"></span>

			<input type=\"file\" id=\"fielUpload\" name=\"file\" style=\"display: none\" onchange=\"importDfFile()\" />    

            </from>

2.ajax

var formData = new FormData(); //需要用到formData 

 		formData.append(\'file\',$(\"#fielUpload\")[0].files[0]); //添加选择的文件 key值为file

 		//把from表单的参数序列化 转换成json key值为 equipmentTypeForm

		formData.append(\'equipmentTypeForm\',JSON.stringify($(\'#equipmentTypeform\').serializeObject())) 

 		$.ajax({

 	 		type : \"post\",

 	 		url : \"aaa.ajax\",//自己的接口地址

 	 		data :formData,

 	 		dataType : \"json\",

 			 cache: false,

 		     async:false,

 		     processData: false,

 		     contentType: false,//必须添加 

 	 		success : function(data) {

 	 			if(data.success){

 	 				//成功之后执行的代码

 	 			}else{

 	 				//失败之后的代码

 	 			}

 	 		}

 	 	});

3.后端代码

@ResponseBody

	@RequestMapping(value = \"/aaa.ajax\",method = RequestMethod.POST)

	public String save(@RequestParam(value=\"file\") MultipartFile file,HttpServletRequest reuqest) {

	//拿到json 转换成我们需要的对象

		 EquipmentTypeForm equipmentTypeForm = JSONObject.parseObject(reuqest.getParameter(\"equipmentTypeForm\"), EquipmentTypeForm.class);

		 System.out.println();

		 System.out.println(file);

		 }
(0)
仰望辉煌。  的头像仰望辉煌。  

相关推荐

发表回复

登录后才能评论