利用FormData收集表单数据实现ajax传递post数据

向服务器ajax传入数据可以:1.利用dom获取表单值传入(f1)   2.利用FormData发送传递ajax数据(f2)(没有form表单,这使用append()方法添加数据参考f3)

<form id="reg">
  用户名:<input type="text" id="username" name="username" /><br />
  密码:<input type="text" id="userpwd" name="userpwd" /><br />
  邮箱:<input type="text" id="useremail" name="useremail" /><br />
    <input type="button" value="注册" onclick="f1()"/>
</form>

<script type="text/javascript">

//ajax收集表单数据
function f1(){
    //利用dom技术可以收集表单信息
    var name = document.getElementById(‘username‘).value;
    var pwd = document.getElementById(‘userpwd‘).value;
    var email = document.getElementById(‘useremail‘).value;

    var data_str = "name="+name+"&pwd="+pwd+"&email="+email;

    var xhr = new XMLHttpRequest();
    xhr.open(‘post‘,‘./03.php‘);
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xhr.send(data_str);
}

function f2(){
	//①利用高级方法处理form表单(html5新标准,IE浏览器不支持)
	var reg = document.getElementById(‘reg‘);
	//②制作一个form数据对象 FormData()
	//制作一个formdata表单数据对象,里边存放form表单的信息
	var fd = new FormData(reg);
	//reg是form元素节点对象
	var xhr = new XMLHttpRequest();
	xhr.onreadystatechange = function(){
		if(xhr.readyState==4 && xhr.status==200){
			alert(xhr.responseText);
		}
	}
	xhr.open(‘post‘,‘./03.php‘);
	//③ 给服务器传递了一个form数据对象
	//④ ajax打开方式就post方式
	xhr.send(fd);
}

//没有form表单收集数据【3】
function f3(){
    //没有form元素节点对象
    var fd = new FormData();
    var name = document.getElementById(‘username‘).value;
    var email = "[email protected]";
    var pwd = "123456";
    //把以上数据填充到fd对象里边
    fd.append(‘name‘,name);
    fd.append(‘email‘,email);
    fd.append(‘pwd‘,pwd);

    var xhr = new XMLHttpRequest();
    xhr.onreadystatechange = function(){
        if(xhr.readyState==4 && xhr.status==200){
            alert(xhr.responseText);
        }
    }
    xhr.open(‘post‘,‘./03.php‘);
    xhr.send(fd);}

</script>

  

利用FormData收集表单数据实现ajax传递post数据

时间: 2024-10-11 01:47:24

利用FormData收集表单数据实现ajax传递post数据的相关文章

Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据)

form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multipart/form-data"> {# 这里必须要请求头格式才能把上传文件的对象传过去 enctype="multipart/form-data"#} 姓名 <input type="text" name="user">

SpringMVC之ajax传递jason数据详解以及@RequestBody和@ResonseBody注解

最近在做ajax进行用户名校验时遇到了一些问题,在不断debug的过程中也加深了我对springMVC之ajax传递jason数据的理解,希望对有需要的小伙伴一些帮助~ 工具:IDEA 我们通过code来理解一下: 1.如下图时js代码:因为是对用户名校验,所以传入的数据只有用户名: PS:SpringMVC 通过ajax传参到后台时:因为@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象.然而在ajax请求往往传的都是Json对象,用 JSON.stringify

Struts2中通过Ajax传递json数据

1.导入Struts2所需要的jar包 下载Struts2的jar包时,可以下载struts-2.5.13-min-lib.zip,然后放到项目的/WebContent/WEB-INF/lib路径下struts-2.5.13-min-lib只包含以下jar包: commons-fileupload-1.3.3.jar commons-io-2.5.jar commons-lang3-3.6.jar freemarker-2.3.23.jar javassist-3.20.0-GA.jar ogn

前端Ajax传递Json数据,后端处理两种方式

在这里只讨论在前端通过Ajax远程传输Json数据的,不讨论通过form的形式传递数据 第一种方式: 前端传递过来的数据刚好和我们的bean实体对象属性一致,则可以使用对象的形式接受. 前端写法: 1 $().ready(function(){ 2 var obj = JSON.stringify({'userNo':'121589','processId':'15','processName':'测试审批','description':'这是一个测试'}); 3 alert(obj); 4 5

ajax传递json数据,springmvc后台就收json数据

1.ajax数据的封装 var json = {"token":token};//封装json数据 $.ajax({ url:'', data:JSON.stringify(json),//封装成json dataType:"JSON", type:"POST", async:false, cache:false, contentType:'application/json;charset=UTF-8',//必须添加 success:functi

使用 reqwest库,json,ajax传递api数据

reqwest数据格式: <script> var a = {}; reqwest({ url:'http://swapi.co/api/people/1', type:'json', method:'get', success:function(resp) { a = resp } })</script> 在js中,当函数中嵌套函数的时候,this此时指的不是实例本身,这是js的一个坑. methods:{ getData:function () { var self = thi

ThinkPHP完成对数据的添加以及表单数据的收集

数据添加分两种方式,一种是数组的方式,另一种是使用AR的方式添加,其实这两种方式添加的方式是相同的,就是一个规范的不同而已,所谓AR,就是: //一个数据模型代表一张表. //一个对象代表一条数据. //一个字段代表一个对象的属性 这样也符合传统的思维习惯,下面是数据模拟添加的实例代码: $temp=D('User'); // $arr=array('id'=>11,'name'=>'add_1_xuning','password'=>md5('123456')); //下面是通过AR的

PHP通过get方法获得form表单数据方法总结

下面给大家带来具体的代码示例: 1.form表单代码示例(表单get提交) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 <head>   <meta charset="utf-8">   <title>form表单get方法示例</title> </head> <body> <form action="/test/test.php" method="get&

ASP.NET Web 前台Ajax传递JSON

Json 作为一种轻量级的数据交换格式,主要用于和服务器之间进行交换数据,其数据格式类似于 键值组合形式的数组. 在Web 中使用Ajax传递Json数据时候,就不得不先提一提Form表单,web前台界面中使用的控件默认是嵌在 form中的,而在form下使用asp:button控件,被HTML编译后默认类型为Submit,如此就先于Ajax一步提交了表单,导致Json数据无法正常传递到后台,合理的解决办法是 给Button 设置 OnClientClick="return false;&quo