600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 页面载入进入后台 回来刷新 且只刷新一次 避免无限刷新

页面载入进入后台 回来刷新 且只刷新一次 避免无限刷新

时间:2022-10-20 08:35:13

相关推荐

页面载入进入后台 回来刷新 且只刷新一次 避免无限刷新

在很多的时候,我们想在页面载入的时候去后台读取数据,这时可以用ajax进入后台查询数据库,然后将数据传输回来,但是传输回来的数据可能需要刷新才能显示出来,我们知道,ajax有回调函数success和error,我们可以把刷新写在回调函数里面,但是问题还是有的,刷新就是重新载入页面,那么又会执行ajax,这就陷入了无限刷新了,这时可以用sessionStorage来解决,不过整体效果好像不是很好

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script type="text/javascript" src="jquery-3.2.1/jquery-3.2.1.js"></script><script type="text/javascript" src="jquery-3.2.1/jquery-3.2.1.min.js"></script><script type="text/javascript">window.onload = function() {//页面载入完成执行函数if (!sessionStorage.getItem("firstpageflag")) {//sessionStorage是h5的新元素,//这个可以设置一个像是session键值对的东西(具体我不是很了解),他是保存在浏览器端的,浏览器关闭时清除,//这里的原理是:浏览器开始是没有这个键值对的,然后进入if里面,进入之后就设置,只要浏览器没关,下次就进入不了了,因为已经设置了sessionStorage.setItem("firstpageflag", 1);$.ajax({type : "post",async : false,url : "goods?action=GetGoods",//我这里是进入后台查询数据库datatype : "json",success : function(data) {window.location.reload();//当查询完成之后,查询成功,回来执行这个函数,所以在这个函数里面写刷新,//刷新的时候由于sessionStorage已经设置了,所以不会再次执行ajax,这样就实现了ajax只执行一次},})}}</script></head><body>xjassjcns<%String s = (String) session.getAttribute("xgz");//这是查询数据库设置的session键值对,可以在前端获取%><%=s%></body></html>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。