给你个最原始的 var xmlHttp; //生成一个xmlHttp对象 function createXMLHttpRequest(){ if (window.ActiveXObject) { xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); }else if (window.XMLHttpRequest){ xmlHttp = new XMLHttpRequest(); } } function changeAreaValueSingleton(value){ //生成对象 createXMLHttpRequest(); //调用handleStateChangeAV(); xmlHttp.onreadystatechange = handleStateChangeAV; //比如你现在要把value传到后台去 *1 var url = "changeLeagueValue.do?ValueId="+value; xmlHttp.open("GET",url,true); xmlHttp.send(null); }
function handleStateChangeAV(){ //这个函数是回调函数,到了这个,已经结束了后台的操作了,但是页面不会刷新 if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ //上面两不是状态判断,固定写法 //如果你后台返回的是简单的字符串,不是xml格式,用xmlHttp.responseText changeAV(xmlHttp.responseXML); } } } //这个是最后调用的函数 function changeAV(msg,args){ //msg就是xmlHttp.responseXML,这个函数里面你可以做你想做的事 //比如执行完只需要提示,直接在这个函数里写个alert就行了 }以上是原始的ajax,有些目前看不懂的,你不用去管他,这个是固定写法、你要修改的地方是*1处你自己的url,以及最后changeAV函数的内容,当然函数名称随便你自己取。调用的入口是changeAreaValueSingleton(value) 这样说,你可明白???
var xmlHttp;
//生成一个xmlHttp对象
function createXMLHttpRequest(){
if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function changeAreaValueSingleton(value){
//生成对象
createXMLHttpRequest();
//调用handleStateChangeAV();
xmlHttp.onreadystatechange = handleStateChangeAV;
//比如你现在要把value传到后台去
*1 var url = "changeLeagueValue.do?ValueId="+value;
xmlHttp.open("GET",url,true); xmlHttp.send(null);
}
function handleStateChangeAV(){
//这个函数是回调函数,到了这个,已经结束了后台的操作了,但是页面不会刷新
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
//上面两不是状态判断,固定写法
//如果你后台返回的是简单的字符串,不是xml格式,用xmlHttp.responseText
changeAV(xmlHttp.responseXML);
}
}
}
//这个是最后调用的函数
function changeAV(msg,args){
//msg就是xmlHttp.responseXML,这个函数里面你可以做你想做的事
//比如执行完只需要提示,直接在这个函数里写个alert就行了
}以上是原始的ajax,有些目前看不懂的,你不用去管他,这个是固定写法、你要修改的地方是*1处你自己的url,以及最后changeAV函数的内容,当然函数名称随便你自己取。调用的入口是changeAreaValueSingleton(value)
这样说,你可明白???
<%
Random random = new Random();
//生成随机flag,
Integer flag=new Integer(random.nextInt());
session.setAttribute("flag",flag);
%> //form代码
<input type=hidden name="flag" value="<%=flag%>"> //页面代码end
//处理表单代码 start
Integer flag =new Integer(Integer.parseInt(request.getParameter("flag")));
HttpSession session=request.getSession();
if (flag.equals(session.getAttribute("flag"))){
//在此调用dao
destroyFlag(session);
} else {
System.out.println("重复提交");
} /**
* 销毁flag
* @param session
*/
public void destroyFlag(HttpSession session) {
session.removeAttribute("flag");
}