easyui form提交和formdata提交记录,查看FormData对象内部的值
1 easyui form提交
$('form').form('submit',{url:'';onSubmit:'';success:function(data){//这种方法获取到的data是字符串的形式,需要将数据进行转化方可利用其内部的数据data=JSON.parse(data);if(data.result){} }
})
提交的数据是利用jquery 中的serialize()方法,将表单中的数据转化为请求字符串的形式,我们可以使用$('form').serialize();来查看要提交的数据;
但是在此过程中一定注意若表单中有类似textarea的控件 ,且在输入域中输入了空格,获取到的参数信息会转化为‘+’号(par1=other&par2=-1&par3=sss+fffff++ffff)
是因为URL规范里就是要求空格在query string里被编码为加号吧。
详见(https://en.wikipedia.org/wiki/Query_string#URL_encoding)
注:类似于$().serialize() 方法还有 $().serializeArray 和$().param(arr)方法,可以查看jquery手册学习
$("#results").append( "<tt>" + $("form").serialize() + "</tt>" );
2 formData提交
新建FormData对象时有两种方将数据加载到实例对象中,其中之一是利用FormData对象的append方法,其二是将form表单元素作为参数传递到FormData构造函数内;如下:
(1) var fd = new FormData(); fd.append("username", "Groucho");// fileInputElement中已经包含了用户所选择的文件fd.append("userfile", fileInputElement.files[0]);(2) var formData = new FormData(form); //内部form值需要时js原生对象
var i = formData.entries();i.next(); i.next();
//或者下面是等效的for(var item of formData.entries()){console.log(item[0]+','+item[1]);}
利用formdata进行图片文件上传时 ,当图片文件 为空时 ,会传入一个文件流,后台可能没有办法判断该数据是否为空,这就需要前端验证空参数时不传对应值
var fd = new FormData();var postTitleVal = $('#titleId').val();var imgfileVal = $('#imgfile')[0].files;var postContentVal = $('#body_text').val();fd.append("postTitle",postTitleVal); //注意下面的添加图片,当为多个时,一定要一个一个进行添加,否则不会正确的传值,如下面的图片所示for(var i = 0;i < imgfileVal.length;i++){fd.append("imgfile",imgfileVal[i]);}fd.append("postContent",postContentVal);return fd;
当多图片时不进行一个一个添加时会显示下面的结果,传给后台的是一个不能识别的object
------WebKitFormBoundarye3BrkT7fRq8QF9FFContent-Disposition: form-data; name="imgfile"[object FileList]当直接用var fd = new Formdate()时,有图片有选择时如下可以正常的进行传输------WebKitFormBoundaryv1LffBUkzjtPjHxQ
Content-Disposition: form-data; name="imgfile"; filename="Koala.jpg"
Content-Type: image/jpeg
------WebKitFormBoundaryv1LffBUkzjtPjHxQ
Content-Disposition: form-data; name="imgfile"; filename="Lighthouse.jpg"
Content-Type: image/jpeg当不选图片时(即空参数),会传入一个 文件流,后台可能没有办法判断该数据是否为空,可能会造成页面图片显示空白的bug
------WebKitFormBoundaryABIeO4Mf7StP4CdB
Content-Disposition: form-data; name="imgfile"; filename=""
Content-Type: application/octet-stream
总结:上传数据格式常用的有:
1 请求字符串 name=value&age=3的形式;
2 json对象形式;
3 formData对象格式;
当然也可以有其他类型,详见http://www.cnblogs.com/haitao-fan/p/3908973.html
https://developer.mozilla.org/en-US/docs/Web/API/FormData/entries
转载于:https://www.cnblogs.com/xhliang/p/7732261.html
easyui form提交和formdata提交记录,查看FormData对象内部的值相关推荐
- EasyUI Form提交后json数据IE上需要下载(转)
EasyUI Form提交后json数据IE上需要下载(转) 在使用EasyUI的form中的submit方法时,返回json在IE中变成提示下载的问题,代码如下: $('#fileForm').fo ...
- git 查询提交明细_Git [提交记录查看、提交、变基](I)
查看提交记录 终端命令 git log:列出历史提交记录; 记录查看 git log --oneline:查看历史记录的简洁的版本; 简洁记录查看 提交 提交规范 feat: 新功能 fix: 修复问 ...
- post传值php取不到数据,post请求中的参数形式和form-data提交数据时取不到的问题...
@Controller 页面form表单请求时不会丢数据 返回json数据时需要加 注解@ResponseBody 请求格式如下 @ResponseBody public Object login(S ...
- Java入力项目无法设定到form_html中关于form与表单提交操作的资料集合
原标题:html中关于form与表单提交操作的资料集合 这里我们介绍一下form元素与表单提交方面的知识. form元素 form元素的DOM接口是HTMLFormElement,继承自HTMLEle ...
- GIT项目管理工具(part4)--提交文件暂存记录及同步文件至本地仓库
本系列BLOG为鄙人学习GIT时的学习笔记.前一个知识点引出后一个知识点,后一个例子接着前一个例子. 文章目录 基本操作 3.将工作内容记录到暂存区 4.取消文件暂存记录 5.将文件同步到本地仓库 举 ...
- form提交php怎么接收不到,php form表单post提交获取不到数据,而使用get提交能获取到数据 的解决办法...
开发环境:xampp,mac,phpstorm 其实出现这个问题的原因就是在于phpstorm,它默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常 ...
- .form文件_含文件上传的form表单AJAX提交小结
最近在学习PHP时,遇到不知道如何含文件上传的form表单AJAX提交,现在把这些记录下来以备自己后续复习时用: HTML代码 *姓名: *性别: {eq name='list.sex' value= ...
- Form表单之get提交与post提交
Form表单之get提交与post提交 Form表单的属性action 与method: 属性 值 ...
- form表单同时提交带文本和图片的数据
方法一:使用ajax异步提交 此种方法的好处是可以回调响应结果. html代码: <form action="${basePath}/save" method="p ...
最新文章
- 修改类的命名空间引发的发布问题
- springboot使用webjars引入jquery
- 二级路由dhcp关闭连不上wifi_酒店网络故障:原来还与DHCP服务器有关
- python scratch unity_Unity3D研究院之2D游戏开发制作原理(二十一)
- 装配图位置偏转怎么调整_物理微课|匀变速直线运动、电容器动态分析及磁偏转技巧、方法、模型...
- android assets 文件夹 复制,Android 中 Assets目录下 文件或文件夹的复制
- mysql连接查询on_MySql 连接查询中 on 和 where 的区别
- java基础面试题之:switch的参数类型
- iOS基础 - UIDynamic
- 有/无外网情况下linux安装宋体
- eNSP华为基本配置命令
- 视频怎么转换html代码实现,音视频格式转换神器与html视频元素加字幕——零基础自学网页制作...
- 基于Tensorflow Object Detection API 的哆啦A梦检测
- 如何玩转私域引流?全链路拆解经典玩法和实战案例
- 怎样建网站?(超详细)
- 关闭笔记本电脑自带键盘
- 微信小程序点击获取昵称头像
- Camera ITS当中的gain/shutter组合测试
- Linux_day02
- 使用js格式化json