使用ajax不刷新页面获取、操作数据

在使用jsp或html时,利用ajax达到不刷新页面就可以获取、操作数据。

首先上代码 (html+js)
在此处需要引入jquery插件

<!-- 这是页面部分 html-->
<body>
  	<div style="width:100%;height:30px; float:left">
  		<input type="button" value="查询" onclick="selAll()"/>
  	</div>
    <div style="width:49%;height:500px; border:1px solid red;float:left">
    	<table width="100%" border="1">
    		<tr align="center">
    			<td  width="25%">
    				编号
    			</td>
    			<td  width="25%">
    				姓名
    			</td>
    			<td  width="25%">
    				年龄
    			</td>
    			<td  width="25%">
    				操作
    			</td>
    		</tr>
    	</table>
    	<table width="100%" border="1" cellspacing="0" id=" ">
    		
    	</table>
    </div>
     <div style="width:49%; border:1px solid red;float:left">
    	<div style="height:250px; border:1px solid red;">
	    	<div style="width:100%;float:left;border-bottom:1px solid red; ">
		  		新增信息
		  	</div>
		  	<center>
		  		<table border="1" style="margin-top: 80px;">
			  		<tr>
			  			<td>姓名:</td>
			  			<td>
			  				<input id="name"/>
			  			</td>
			  		</tr>
			  		<tr>
			  			<td>年龄:</td>
			  			<td>
			  				<input id="age"/>
			  			</td>
			  		</tr>
			  		<tr>
			  			<td colspan="2" align="center">
			  				<input type="button" value="新增用户" onclick="addUser()">
			  			</td>
			  		</tr>
			  	</table>
		  	</center>
		  	
	    </div>
	     <div style="height:250px; border:1px solid red;">
	    	<div style="width:100%;float:left;border-bottom:1px solid red; ">
		  		编辑信息
		  	</div>
		  	<center>
		  		<table border="1" style="margin-top: 80px;">
			  		<tr>
			  			<td>姓名:</td>
			  			<td>
			  				<input type="hidden" id="uid"/>
			  				<input id="uname"/>
			  			</td>
			  		</tr>
			  		<tr>
			  			<td>年龄:</td>
			  			<td>
			  				<input id="uage"/>
			  			</td>
			  		</tr>
			  		<tr>
			  			<td colspan="2" align="center">
			  				<input type="button" value="编辑用户" onclick="upUser()">
			  			</td>
			  		</tr>
			  	</table>
		  	</center>
	    </div>
    </div>
     
  </body>

接着是js部分代码部分,这里有简单的增删改查代码,可完成基本所有功能

<script>
	<!--这里进行查询所有操作,这里查询完之后顺位添加,可以先清空内容再进行此方法,以保证不重复-->
	function selAll(){
		$.ajax( {
						url:'usersel',
						type:'post',
						data: {
							
						},
						datatype : "json",//"xml", "html", "script", "json", "jsonp", "text".           
						success : function(data) {
							var json=eval('(' + data + ')');
							
							$.each(json, function (n, item) {
								<!--这里进行添加操作-->
								addRow(n,item)
							});
						}
				});
	}
	function addRow(n,item){
		var val="<tr align='center'>";
		val=val+"<td  width='25%'>"+(n+1)+"</td>";
		val=val+"<td  width='25%'>"+item.name+"</td>";
		val=val+"<td  width='25%'>"+item.age+"</td>";
		val=val+"<td  width='25%'><a href='javascript:editUser("+item.id+");'>编辑</a><a href='javascript:delUser("+item.id+");'>删除</a></td>";
		val=val+"</tr>";
		
		$("#showdata").append(val);
	}
	function addUser(){
		var nval=document.getElementById("name").value;
		var aval=document.getElementById("age").value;
		
		$.ajax( {
			url:'useradd',
			type:'post',
			data: {
				name:nval,
				age:aval			
			},
			datatype : "json",//"xml", "html", "script", "json", "jsonp", "text".           
			success : function(data) {
				alert("信息添加成功!");
				selAll();		
			}
		});
	}
	//获取原始数据
	function editUser(ele){
		$.ajax( {
			url:'useredit',
			type:'post',
			data: {
				id:ele			
			},
			datatype : "json",//"xml", "html", "script", "json", "jsonp", "text".           
			success : function(data) {
				var json=eval('(' + data + ')');
				$.each(json, function (n, item) {
					document.getElementById("uid").value=item.id;
					document.getElementById("uname").value=item.name;
					document.getElementById("uage").value=item.age;
				});
			}
		});
	}
	function delUser(ele){
		var flag=confirm("确认删除信息?");
		if(!flag){
			return false;
		}
		$.ajax( {
			url:'userdel',
			type:'post',
			data: {
				id:ele			
			},
			datatype : "json",//"xml", "html", "script", "json", "jsonp", "text".           
			success : function(data) {
				alert("信息删除成功!");
				selAll();	
			}
		});
	}
	function upUser(){
		var uid=document.getElementById("uid").value;
		var uname=document.getElementById("uname").value;
		var uage=document.getElementById("uage").value;
		
		$.ajax( {
			url:'userup',
			type:'post',
			data: {
				id:uid,
				name:uname,
				age:uage			
			},
			datatype : "json",//"xml", "html", "script", "json", "jsonp", "text".           
			success : function(data) {
				alert("信息更新成功!");
				selAll();	
			}
		});
	}
</script>

最后,在后端的操作中也有需要注意的点

		//这里把数据库查询后得到的对象进行处理,转换为json后返回
		JSONArray jsonArray = JSONArray.fromObject(list);
		System.out.println(jsonArray);
		response.setCharacterEncoding("utf-8");
		response.getWriter().print(jsonArray);

有时候会出现ajax返回一直进入error方法,这里的原因可能是因为接受数据格式的问题,当执行添加之类的操作也可返回一个内容保证数据无误。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

了迹奇有没

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值