关于Ajax同时传递表单文本数据和文件数据

您所在的位置:网站首页 如何传递文件内容 关于Ajax同时传递表单文本数据和文件数据

关于Ajax同时传递表单文本数据和文件数据

2024-07-15 09:28| 来源: 网络整理| 查看: 265

关于Ajax同时传递表单文本数据和文件数据

html

内容标题(简明扼要) 确认发布

Ajax

流程: 使用FormData依次获得表单元素,然后使用.append()方法以键值对的方式加入FormData,最后传FormData.

{ alert("66666"); var formData=new FormData; // // var file = $("#picture").valueOf();//这种方式对文件元素不行 var file = $("#picture")[0].files[0];//用这种方式 var description = $("#description").val(); var tag=$("#tag").val(); console.log(file); formData.append("description",description); formData.append("tag",tag); formData.append("multipartFile",file); // Ajax 异步提交文件 $.ajax({ type: "post", url: "/publish", data:formData ,//上一步的FormData cache: false,//不缓存数据 processData: false,//不转换数据 contentType: false, dataType: "json", success: function (data) { alert("666") if (data.code == 200) { // 页面的刷新 setInterval(function () { location.replace(location.href); }, 1500); } } } ) } /

后台: @RequestMapping("/publish") @ResponseBody public ResultData Publish(Moment moment, MultipartFile multipartFile)

{ System.out.println("c层进去"); System.out.println(moment.toString()); System.out.println(multipartFile.getOriginalFilename()); // User user=(User) request.getSession().getAttribute("user"); // moment.setUser_id((user.getUser_id())); moment.setUser_id(1); return momentService.publish(moment,multipartFile); }

注意事项: 把数据加入FormData时,确保 键(key)名要和后台参数名字一样,不然传递不了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3