ajax提交form表单

前端图片上传几种方式

不羁岁月 提交于 2019-12-10 17:38:31
一、.html表单上传(不推荐) 最传统的图片上传方式是form表单上传,使用form表单的input[type=”file”]控件,打开系统的文件选择对话框,从而达到选择文件并上传的目的。 form表单上传。表单上传需要注意以下几点: 1、.提供form表单,method必须是post。 2、form表单的enctype必须是multipart/form-data。 enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。默认地,表单数据会编码为 "application/x-www-form-urlencoded"。就是说,在发送到服务器之前,所有字符都会进行编码。HTML表单如何打包数据文件是由enctype这个属性决定的。 enctype有以下几种取值: 1 2 3 4 application/x-www-form-urlencoded:在发送前编码所有字符(默认)(空格被编码为’+’,特殊字符被编码为ASCII十六进制字符)。 multipart/form-data:不对字符编码。在使用包含文件上传控件的表单时,必须使用该值。 text/plain:空格转换为 “+” 加号,但不对特殊字符编码。 默认enctype=application/x-www-form-urlencoded,所以表单的内容会按URL规则编码,   (3).提供input type=

Yii技巧大全(摘录)

不羁的心 提交于 2019-12-09 15:41:16
Yii技巧大全(摘录) db组件 'schemaCachingDuration'=>3600, 为什么不起做用? 需要开缓存 如何在页面下边显示sql的查询时间 在log组件的routes中加入 array( 'class'=>'CProfileLogRoute', 'levels'=>'error, warning', ) 同时在db组件中加入 'enableProfiling'=>true, 同时在这种情况下,可以用CDbConnection::getStats() 查看执行了多少个语句,用了多少时间 如何知道某一个程序段运行需要的时间 配置好CProfileLogRoute后,在需要测试的地方加上 Yii::beginProfile('blockID'); //程序段 Yii::endProfile('blockID'); 'enableParamLogging'=>true,的作用是? 在日志的bind的参数后边跟数的值 如何在页面底部显示所有的db相关的日志 同上,配置log组件的routes中加入 array( 'class'=>'CWebLogRoute', 'levels'=>'trace, info, error, warning', 'categories' => 'system.db.*', //'showInFireBug' => true,

webuploader如何实现分片+断点续传

て烟熏妆下的殇ゞ 提交于 2019-12-09 13:40:52
javaweb 上传文件 上传文件的jsp中的部分 上传文件同样可以使用form表单向后端发请求,也可以使用 ajax向后端发请求 1. 通过form表单向后端发送请求 <form id= "postForm" action= "${pageContext.request.contextPath}/UploadServlet" method= "post" enctype= "multipart/form-data" > <div class= "bbxx wrap" > < input type = "text" id= "side-profile-name" name= "username" class= "form-control" > < input type = "file" id= "example-file-input" name= "avatar" > <button type = "submit" class= "btn btn-effect-ripple btn-primary" >Save</button> </div> </form> 改进后的代码不需要form标签,直接由控件来实现。开发人员只需要关注业务逻辑即可。JS中已经帮我们封闭好了 通过监控工具可以看到控件提交的数据,非常的清晰,调试也非常的简单。 2. 通过ajax向后端发送请求 1. $

短信接口发送验证码倒计时以及提交验证

大兔子大兔子 提交于 2019-12-09 10:37:35
项目中找回密码的功能: 忘记密码,登录页面点击忘记密码,跳转页面输入用户名,如果用户名已经绑定手机号,后台调用短信接口给该用户绑定的手机发送短信,如果没有绑定手机号则给出提示 同时,发送验证码按钮出现倒计时并不可点击 用户接收到验证码后,输入验证码并提交,如果验证码正确,跳转到修改密码页面,如果验证码不正确,跳转到错误页面。 前端代码: 表单部分: < form id ="phoneform" class ="layui-form" style ="margin-top:10%;margin-left:30%; background-color:white; height: 180px; width:400px; padding: 50px; border-radius:15px;" method ="post" action ="<%=basePath%>/personal/msg/findphonepnum" > < div class ="layui-form-item" > < label class ="layui-form-label" > 用户名: </ label > < div class ="layui-input-block" > < input id ="username" type ="text" name ="username" lay-verify =

四种常见的 POST 提交数据方式

人走茶凉 提交于 2019-12-07 03:33:18
HTTP/1.1 协议 规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。 我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: <method> <request-url> <version> <headers> <entity-body></entity-body></headers></version></request-url></method> 协议规定 POST 提交的数据必须放在消息主体(entity-body)中,但协议并没有规定数据必须使用什么编码方式。实际上,开发者完全可以自己决定消息主体的格式,只要最后发送的 HTTP 请求满足上面的格式就可以。 但是,数据发送出去,还要服务端解析成功才有意义。一般服务端语言如 php、python 等,以及它们的 framework,都内置了自动解析常见数据格式的功能。服务端通常是根据请求头(headers)中的 Content-Type 字段来获知请求中的消息主体是用何种方式编码,再对主体进行解析。所以说到 POST 提交数据方案,包含了

使用layui框架 修改时部分参数未传给后台(查找原因)

ぐ巨炮叔叔 提交于 2019-12-06 13:50:20
采用的结构: <form class="layui-form reset-form" action="" id="formData"> @* 使用隐藏域用于保存编辑项的ID值,便于提交修改 *@ <input type="hidden" name="ID" /> <div style="color:red;text-align:center;margin-bottom:5px;">注:所填数量不应含省平台转办的信息数量,应仅为本地区自主受理的数量</div> <div class="layui-form-item"> <label class="layui-form-label">日期</label> <div class="layui-input-inline"> <input name="GetTime" id="date" placeholder="请选择日期范围" autocomplete="off" class="layui-input" type="text"> <span class="red required">*</span> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">设区市</label> <div class="layui-input-inline">

JS笔记

若如初见. 提交于 2019-12-06 08:23:23
JS 1,js 索引数组定义 var dataArr= new Array(); dataArr["storeId"]=”15313 storeId”; dataArr["imgUrl"]=”123imgUrl”; [ storeId : "15313 storeId" , imgUrl : "123imgUrl" ] imgUrl : " 123imgUrl " storeId : " 15313 storeId " length : 0 2, 删除最后一个字符 citys = citys.substr( 0 ,citys.length- 1 ); 3, 跳转 window.location.href = "{:url('mobile/Login/logout')}"; window.location.reload(); 2, form 表单外的提交 citys = citys.substr( 0 ,citys.length- 1 ); <form class="clear" action="javascript:void(0);" id="baojia_form_message"> <label class="fl"><i class="iconfont icontouxiang"></i><input type="text" name="linkman" value=""

57 Django模型层3与数据传输与Ajax

混江龙づ霸主 提交于 2019-12-06 07:04:49
目录 一、orm查询优化 1.only与defer 2.select_related与prefatch_related 二、模型层choices参数 三、MTV与MVC模型 1.MVC 2.MTV 3.区别 四、Ajax简介 五、前后端传输数据编码格式 1. 不同的编码格式 2. 前端朝后端发送数据的请求方式 2.1 form表单发送数据编码格式 2.2 ajax发送数据的编码格式 六、序列化(drf会用到) 一、orm查询优化 能少走数据库就少走数据库。 1.only与defer only :取对象,对象中只包含主键和only括号里的属性。 only括号内放字段,查询结果是一个列表套一个个的数据对象。 这些数据对象通过点的方式取括号内的字段属性不会再查询数据库,直接就是对象获取属性。只需要查一次数据库就可以全取出。 不过only也可以点击括号内没有的字段,但是每点击一次就会重新走一次数据库查询,效率极低。 res = models.Book.objects.only('title') for i in res: print(i.title) # 走一次 for i in res: print(i.price) # 走11次,有几个对象走几次 defer :与only相反,排除括号内的字段。 defer与only是互为反操作。 defer括号内放什么字段

11.29 总结

懵懂的女人 提交于 2019-12-06 06:44:59
ORM查询优化 only 与defer ''' 数据库查询优化 only 与 defer ''' res=models.Book.objects.all() print(res) for i in res: print(i.price) print(i.title) res1=models.Book.objects.only('title') print(res1) for i in res1: print(i.price) print(i.title) ''' only 括号内放字段 查询结果是一个列表套一个个数据对象 这些数据对象点括号内的字段属性不会再查数据库 也支持点击括号内没有的字段 但是每点击一次就会重新走一次数据库查询 效率极低 ''' res=models.Book.objects.defer('title') # print(res) for i in res: # print(i.title) print(i.price) ''' defer 与only互为反操作 defer括号内放什么字段 查询出来的对象就没有该字段属性 需要全表搜索找到该属性 如果点击了括号内没有的字段 就不会全表查询 仅仅是对象属性的操作 ''' select_related 与 prefetch_related ''' select_related与prefetch_related

django之ORM的查询优化,Ajax

风流意气都作罢 提交于 2019-12-06 06:33:48
目录 ORM查询优化 only与defer select_related与prefetch_related查询优化 choices参数  MTV与MVC模型 Ajax简介 AJAX常见应用情景 AJAX的优缺点 Ajax基本语法结构 Ajax基本示例1(实现与服务器端数据交换) 前后端传输数据编码格式 form表单往后端发post请求的编码格式及发送文件 ajax往后端发post请求的编码格式及发送文件 序列化 Ajax结合sweetalert实现删除按钮的提示功能 自定义分页器 多对多的三种建立方式 ORM查询优化 only与defer res = models.Book.objects.all().values('title') print(res) # <QuerySet [{'title': '三国演义'}, {'title': '红楼梦'}, {'title': '水浒传'}, {'title': '天龙八部'}]> for i in res: print(i,type(i)) # <class 'dict'> print(i.title) # AttributeError: 'dict' object has no attribute 'title' ,for循环出来就是第一个普通的字典,字典没有点取值的方式 only :查询only后括号内指定的字段,查询一次