使用FormData向后台发送数据

很多时候在使用form向后台发送数据的时候,并不需要使用到表单组件。

例如时间戳、ip等,这个时候除了ajax之外,还可以使用HTML5的一个全新方法FormData;在input[type = file]的文件类型中,很多时候想要把一张图片或者是使用canvas绘制好的图像传送到后台时,无法赋值给file文件,只能转换为base64类型传送到后台,然后由后台转换为图片再进行服务器存储;此过程较为复杂;

使用formdata,只需创建新的formdata对象,将要发送的数据添加进去,后台即可接收;数据以及文件对象皆可;

此处已图像为例:

方法1:使用form

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>获取</title>
		<script src="js/jquery.js"></script>
	</head>
	<body>
		<img src="img/1.png" alt="" id="imgs"/>
		<form action="" method="" id="myform">
			<input type="submit" value="提交" />
		</form>
		<script>
			var imgObj = document.getElementById("imgs");
			var myform = document.getElementById("myform");//获取form节点
			var myFormData = new FormData(myform);//根据获取到的form节点创建formdata对象;
			myFormData.append("name",imgObj);//后台即可根据此name捕获到前台发送的数据或文件;
		</script>
	</body>
</html>

 
 

方法2:使用ajax

var  newFormData = new FormData();
			newFormData.append("username","张三");
			newFormData.append("userPwd","xxxxxxxxx");
			$.ajax({
				type:"get",
				url:"",
				async:true,
				data:newFormData,
				success:function(data){
					console.log(data);
				}
			});
                                                                                                                                     君凯商联网 - Alex.Ma

猜你喜欢

转载自blog.csdn.net/weixin_41756610/article/details/80347541