jquery ajax 实现标签容器内的局部刷新



jsp页面ajax代码如下:

<span style="font-size:18px;"></span><pre class="javascript" name="code">$(document).ready(function(){
				
				$.ajax({
					url: '${pageContext.request.contextPath}/adminMenuAction!menuNav.action',
					type:'POST',
					//dataType: 'json',
					//调整超时时间会引起异常
					//timeout:3000,
					//请求成功时触发的事件
					success:function(data){
						$("#navList").html(data);
						
						/* for(var i=0;i<data.length;i++)
						{
							var name = data[i]["name"];
							var id =  data[i]["id"];
							var url = "${pageContext.request.contextPath}/"+data[i]["url"]+"?id="+id;
							var target = data[i]["target"];
							var listatt = date[i]["listatt"];
							for(var j=0;j<listatt.length;j++){
								
							}
							//向html中插入<li>
							$("#navlist").append("<li class=\"submenu\"> <a href=\"javascript:void(0)\" onClick=\"node_load('"+url+"')\"><i class=\"icon icon-th-list\"></i> <span>"+name+"</span> <span class=\"label label-important\">3</span></a>
							<ul>
								 <li><a href=\"form-common.html\">Basic Form</a></li>
							</ul>
							</li>");
						}  */
					},
					//请求失败时触发的事件
					error:function(xhr, errorInfo, ex){
						 var data = true;
						 if(data){
						 	
						 	date = false;
						 }
					},
					//请求完成后触发的事件,即在success和error触发后执行的事件
					complete:function(xhr,status){
						
					},
					//发送请求前触发的事件
					beforSend:function(xhr){},
					//是否异步发送
					async:true
				});
			});

 
<ul id="navList" class="nav nav-list">
					
					</ul><!-- /.nav-list -->

menuLeft.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<li class="active">
	<a href="index.jsp">
		<i class="icon-dashboard"></i>
		<span class="menu-text"> 控制台 </span>
	</a>
</li>
<c:forEach items="${navList}" var="nav">
<li>
	<a href="javascript:void(0)" class="dropdown-toggle">
		<i class="${nav.iconscl }"></i>
		<span class="menu-text">
			${nav.name}
			<span class="badge badge-primary ">${nav.childNum}</span>
		</span>
		<b class="arrow icon-angle-down"></b>
	</a>

	<ul class="submenu">
		<c:forEach items="${nav.listatt}" var="vo">
		<li>
			<a href="javascript:void(0)" οnclick="right_load('${vo.url}')">
				<i class="${vo.iconscl }"></i>
				${vo.name}
			</a>
		</li>
		</c:forEach>
	</ul>
</li>
</c:forEach> 


注意:后台需要针对div里的信息单独用一个jsp页面,不然就需要自己封装好需要的页面信息返回
这个方法可以实现单独刷新一个div,好用的一点就是:如果将div里需要的信息单独放到一个jsp页面里,都不需要我们后台拼装数据了,非常方便。
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用jQueryajax方法进行请求提交后,可以通过以下几种方式实现局部刷新页面: 1. 使用jQuery的load方法刷新页面局部内容: 在ajax请求成功的回调函数中,使用load方法将需要刷新的页面内容加载到指定的元素中。例如,假设需要刷新id为"content"的div元素,可以使用以下代码: ```javascript $.ajax({ url: "your_url", type: "POST", data: your_data, success: function(response) { $("#content").load("your_page_to_refresh #content"); } }); ``` 以上代码会将"your_page_to_refresh"页面中id为"content"的元素的内容加载到当前页面的id为"content"的div元素中。 2. 使用jQuery的html方法替换内容: 在ajax请求成功的回调函数中,通过html方法将需要刷新的页面内容替换为返回的新内容。例如,假设需要刷新id为"content"的div元素,可以使用以下代码: ```javascript $.ajax({ url: "your_url", type: "POST", data: your_data, success: function(response) { $("#content").html(response); } }); ``` 以上代码会将返回的新内容替换当前页面id为"content"的div元素的内容。 3. 使用jQuery的append方法追加内容: 在ajax请求成功的回调函数中,通过append方法将返回的新内容追加到需要刷新的页面内容后面。例如,假设需要刷新id为"content"的div元素,可以使用以下代码: ```javascript $.ajax({ url: "your_url", type: "POST", data: your_data, success: function(response) { $("#content").append(response); } }); ``` 以上代码会将返回的新内容追加到当前页面id为"content"的div元素的末尾。 以上是三种常用的局部刷新页面的方法,根据实际需求选择适合的方法来刷新页面的局部内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值