ajax的初次使用与解决缓存问题
来源:互联网 发布:ae视频软件 编辑:程序博客网 时间:2024/05/21 08:52
1、ajax核心代码: (a.jsp代码)
<script type="text/javascript">
var req;
function v()
{
var idField = document.getElementById("loginname");
var url = "../registerusercheckloginname?rand="+Math.random()+"&loginname=" + idField.value;
if(window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
req.open("GET", url, true);
req.onreadystatechange = callback;
req.send(null);
}
function setMsg(msg) {
mdiv = document.getElementById("usermsg");
if(msg == "no") {
mdiv.innerHTML = "登录名已经存在,请修改当前的登录名!";
}if(msg=="yes"){
mdiv.innerHTML = "";
}
}
function callback(){
if(req.readyState == 4) {
if(req.status == 200) {
setMsg(req.responseText);
}
}
}
</script>
注:在a.jsp页面中加上:
<td width="76%"><table><tr><td><input type="text" name="loginname" maxlength="30" size="18" onBlur="v()"><font color="red">*</font><td style="color:red"><span style="font-size: 10px;" id="usermsg"></span></table></td>
2、registerusercheckloginname(servlet代码:)
public class registerusercheckloginname extends HttpServlet {
public registerusercheckloginname() {
super();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
DBConnect dbc = null;
ResultSet rs=null;
String loginname=(String)request.getParameter("loginname");
try{
dbc = new DBConnect();
dbc.prepareStatement("select * from ams_user where loginname=?");//成功
System.out.println("logname="+loginname);
PreparedStatement pre=dbc.getPreparedStatement();
pre.setString(1,loginname);
rs = pre.executeQuery();
if(rs.next()){
out.write("no");
} else
out.write("yes");
}catch(Exception e){}
}
}
3、缓存问题解决方法:
a:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数
在javascript发送的URL后加上t=Math.random()
当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+"&"+"t="+Math.random();
b:在XMLHttpRequest发送请求之前加上XMLHttpRequest.setRequestHeader("If-Modified-Since","0")
一般情况下,这里的XMLHttpRequest不会直接使用
你应该可以找到这样的代码
XXXXX.send(YYYYYY);
那么,就把它变成
XXXXX.setRequestHeader("If-Modified-Since","0");
XXXXX.send(YYYYYY);
第二种方法感觉挺好
- ajax的初次使用与解决缓存问题
- 解决 Ajax 的缓存问题
- Ajax的初次使用
- ajax的初次使用
- 解决使用Ajax时浏览器的缓存问题
- ajax与缓存的问题!
- ajax 解决缓存问题
- 解决ajax 缓存问题。
- Ajax解决缓存问题
- ajax解决缓存问题
- jQuery中ajax的使用与缓存问题的解决方法
- Query中ajax的使用与缓存问题的解决方法
- 解决ajax页面缓存的问题
- 解决ajax页面缓存的问题
- Ajax浏览器缓存问题的解决
- Ajax解决浏览器的缓存问题
- Ajax解决浏览器的缓存问题
- Ajax解决浏览器的缓存问题
- 北邮教授阚凯力:3G推上网本和iPhone等于自杀
- china-pub满48元即可享受免运费
- jquery的设计理念
- 收藏超多的.NET电子书免费下载
- 曾经我是程序员吗?
- ajax的初次使用与解决缓存问题
- 收藏一些精品的Java电子书
- log4j:WARN No appenders could be found for logger
- 【ExtJs】ExtJs入门 第一天
- Visual Studio 2005 SP1集成方法
- 关于在eclipse+tomcat6.0中使用jstl1.2
- PostgreSQL 数据备份
- 创建型模式
- qtp中描述性编程