FormData实现form表单的数据打包

FormData实现form表单的数据打包

2015-02-04

HTML代码:


<html>

????<head>

????<title>FormData</title>?

????<script?type="text/javascript">

/*formData?表单数据

?这是在html5中新增的一个API

?能以表单对象作为参数,自动的把表单的数据打包

?当ajax发送数据时,发送些formData,

?达到发送表单内各数据的目的。

?*/

function?send(){

????????//获取form的dom对象

????var?fm?=?document.getElementById(‘tform‘);

????????//将form数据用formData打包

????var?fd?=?new?FormData(fm);

????
?

????var?xhr?=?new?XMLHttpRequest();

????xhr.open(‘POST‘,‘FormData.php‘,true);???//post发送

????xhr.onreadystatechange?=?function(){

????????if(this.readyState?==?4){

????????????document.getElementById(‘debug‘).innerHTML?=?this.responseText;

????????}

????}

????xhr.send(fd);

}

????</script>

????</head>

????<body>

????<form?id="tform">

????????用户名:<input?type="text"?name="username"?/><br/>

????????年龄:<input?type="text"?name="age"?/><br/>

????????邮件:<input?type="text"?name="email"?/><br/>

????????性别:<input?type="text"?name="gender"?/><br/>

????????<input?type="button"?value="Ajax发送"?onclick="send();"?/><br/>

????</form>

????<div?id?=?"debug"></div>

????</body>

</html>

?

PHP代码

<?php

print_r($_POST);

?>

如图所示,php的POST输出了,针对输入的form表单的打包数据

使用 formdata的对象 .append(‘key‘,‘value‘),可以实现对数据的增加

同样:

formdata 不仅可以实现对数据的打包, 还可以人为的添加数据

????//建立一个空的formData数据

????var fd2 = new FormData();

????????//人为的添加数据

????fd2.append(‘username‘,"zhangsan");

????fd2.append(‘age‘,23);

????xhr.send(fd2);

运行后,可以看到,我们并未数据,显示的数据是我们append得到的

?

?

?

?

时间: 2024-10-07 12:20:43

FormData实现form表单的数据打包的相关文章

ubuntu 下CGI c语言 获取form表单的数据

前面文章:使用cgi c 写了一个helloworld 这次 主要使用CGI c语言 获取form表单的数据 1 login.c [email protected]:/usr/lib/cgi-bin$ cat login.c #include<stdio.h> #include<stdlib.h> #include <string.h> int main(){ int i,len=0; char poststr[100]; char m[10],n[10]; char

HTML5第8次课堂笔记( 模拟form表单提交数据,xml的解析,jQuery的Ajax方法使用, mui的ajax)

HTML5第8次课堂笔记 1.  模拟form表单提交数据:(get方式) <body> <formmethod="get"action="DataTest7"> <inputtype="text"name="uname"value="yang"id="myname"><br/> <inputtype="password&q

thinkPHP5.0使用form表单提交数据和删除文章,不用TP的提示页面,使用弹出提示信息

form表单提交数据和删除文章时,TP的默认信息提示页面的看起来不是很好看,想要实现弹窗提示怎么做呢? 前端:可以使用前端的一个知识--iframe,iframe元素会创建包含另外一个文档的内联框架:target,规定在何处打开链接文档. 另外想要实现一个好看的方便.能重复使用的弹窗就要开发一个弹窗插件了,这里推荐使用前端的弹窗插件sweetalert.js,为了方便.重复使用我们把它成封装一个函数,页面要引入sweetalert.js的css和js文件 后端:为了方便以后重复使用,先写一个公共

springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据

springboot框架中集成thymeleaf引擎,使用form表单提交数据,debug结果后台获取不到数据 表单html: <form class="form-horizontal form-material" th:object="${user}" th:action="@{/user/updateOneUserInfo}" method="post"> <input type="hidden

浏览器原生 form 表单POST 数据的两种方式

我们在提交表单的时候,form表单参数中会有一个enctype的参数.enctype指定了HTTP请求的Content-Type. 常用有两种:application/x-www-form-urlencoded和multipart/form-data. application/x-www-form-urlencoded: 窗体数据被编码为名称/值对,并且将提交的数据进行urlencode.默认情况下,我们所有的表单提交都是通过这种默认的方式实现的. multipart/form-data: 窗体

Form表单提交数据的几种方式

一.submit提交 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮(<input type='submit'>)就可以进行数据的提交,每一个input标签都需要有一个name属性,才能进行提交. <form action='http://www.123.com/postValue' method='post'> <input type='text' name='username' /> <input type=

关于form表单提交数据后不跳转页面+ajax接收返回值的处理

1.前台的form表单建立,注意action.enctype的内容, 2.通过添加一个隐藏的iframe标签使form的target指向iframe来达到不跳转页面的效果,同时需要在js里获取iframe里的内容(即后台利用GSON传回来的返回值). 代码部分: <form id="form1"  action="../PublishPostingsServlet"  enctype="multipart/form-data"  metho

通过button将form表单的数据提交到action层

form表单中不需要写action的路径,需要给form表单一个唯一的id,将你要提交的信息的表单中的标签name="action中的javabean对象.javabean属性".给button按钮添加一个onclick()点击事件,并实现该点击事件,在该onclick()方法中通过ajax将form表单中的数据提交给action层 JSP页面中的代码: 1 <form id="handleform"> 2 <!-- 根据学生id修改学生信息 --

Django form表单的数据加载问题

今天在项目中遇到一个问题,有个django增删改查的模板页面,其中的编辑页面使用自定的form来构建的显示内容. 表单的数据时从数据库中查询出来展示的,当修改数据库的内容后,form的展示的信息并没有修改.当重启后,form的数据重新加载. 查了许多资料,都没有对form表单数据的加载时间的解答. 从现象来看,form的数据的加载时在服务启动时,就加载了.代码如下: view.py def testform(req):     form = testForms.testForm()     pr