js将form表单提交数据封装为ajax提交
2017-10-09 22:50
681 查看
对于数据提交,html自带了form表单,以form表单里的input框的name为key值,以其所对应的value为value值,传给后台供其使用。但是这样的方法与ajax传输数据还是有许多差距:
ajax数据提交页面不会闪屏;页面局部更新速度快;网络带宽占用低。
而表单提交则整个页面重绘,如果需要给后台action传值,url还会改变。
我们就来尝试将一个普通的form表单封装成一个ajax提交数据的表单。
对于一个form表单:
对于普通的form表单,我们点击提交就能提交到对应的url,现在我们想要使用ajax做出同样的效果。首先对html代码做出修改:
下面我们来实现这个js函数:
ajax数据提交页面不会闪屏;页面局部更新速度快;网络带宽占用低。
而表单提交则整个页面重绘,如果需要给后台action传值,url还会改变。
我们就来尝试将一个普通的form表单封装成一个ajax提交数据的表单。
对于一个form表单:
<form action="某url" type="POST"> 用户名:<input name="username" type="text"/> 密码:<input name="password" type="password"/> <button type="submit">提交</button> </form>
对于普通的form表单,我们点击提交就能提交到对应的url,现在我们想要使用ajax做出同样的效果。首先对html代码做出修改:
<div id="id"> 用户名:<input name="username" type="text"/> 密码:<input name="password" type="password"/> <button onclick="submit('id','某url','POST')">提交</button><!--取消submit的type 变成增加一个submit方法 下面我们在js中实现这个submit方法--> </div><!--修改为div-->
下面我们来实现这个js函数:
function submit(id,url,type){ var form = document.getElementById(id);//获取要提交的div var inputs = form.getElementsByTagName("input");//获得想要提交的所有div var object = new Object();//创建一个存放数据的对象 for(var i=;i<inputs.length;i++){ object[inputs[i].getAttribute("name")]=inputs[i].value;//动态生成数据的键值对 } var jsonData = JSON.stringify(object);//根据数据生成json数据 //ajax发送数据 $.ajax({ url:url, type:type, data:jsonData, dataType:'json' }); }这样就用ajax代替了form表单提交,当然函数还可以做出很多优化,不过这里就只提一个大概的思路了。
相关文章推荐
- js封装from表单数据为json串进行ajax提交
- JS自动获取Form表单数据并转换成键值对 ajax提交Form
- 纯js将form表单的数据封装成json 以便于ajax发送
- AJAX提交表单后要清空,否则再次提交原来的数据会认为重复提交,提交失败。使用ajaxSubmit 函数需要引入jquery.form.min.js 文件
- js封装from表单数据为json串进行ajax提交
- js封装from表单数据为json串进行ajax提交
- jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传。
- 以前都是通过ajax像后台传送数据,新接触了个form.js向后台提交数据的方式(付源码)
- struts2——学习笔记2 通过form表单方式或者js的方式提交请求,封装boolean值的问题
- Ajax发送FormData对象封装的表单数据
- 今天在研究jquery用ajax提交form表单中得数据时,学习到了一种新的提交方式
- 第一百五十九节,封装库--JavaScript,表单序列化结合ajax提交数据
- jquery序列化form表单使用ajax提交后处理返回的json数据
- jquery序列化form表单使用ajax提交后处理返回的json数据
- ajax 请求后台数据(及使用FormData对象提交表单及上传图片)
- ajax提交form表单 js
- ajax提交form表单数据serialize转为JSON
- JS中ajax请求提交form表单
- asp.net JS+form表单Post和Get方式提交数据
- 使用jquery.form.js的ajaxsubmit方法提交数据的Bug