客户端提交调用AjaxUpdater.Update(“GET”,”userValidator.asp”,display);
后,服务器端Request不到userName和Password值
/** 类名:Ajax 创建日期:2008-3-12 版本:1.0 功能说明: 处理异步提交请求,和对请求状态的处理,以及对返回内容类型的分别处理 **/ Ajax={}; //提交请求 //method:post或get方法 //url:服务器端的URL //callbackMethod:返回响应后的处理函数 Ajax.makeRequest=function (method,url,callbackMethod) { //根据浏览器类型创建request对象 if (window.XMLHttpRequest) { this.request=new XMLHttpRequest(); }else{ this.request=new ActiveXObject("MSXML2.XMLHTTP"); } //设置回调函数 this.request.onreadystatechange=callbackMethod; //设置异步请求 this.request.open(method,url,true); //发送请求 this.request.send(url); } //根据返回状态代码,进行不同的页面异步显示 Ajax.checkReadyState=function(_id) { switch(this.request.readyState) { case 1: document.getElementById(_id).innerHTML="Loading...."; break; case 2: document.getElementById(_id).innerHTML="Loading...."; break; case 3: document.getElementById(_id).innerHTML="Loading...."; break; case 4://成功返回结果 //alert(this.request.status); AjaxUpdater.isUpdating=false; document.getElementById(_id).innerHTML=''; return HTTP.status(this.request.status); default: document.getElementById(_id).innerHTML = "An unexpected error has occurred."; } } //返回请求对象的响应属性类型的内容 Ajax.getResponse=function() { //如果是返回内容首部含有xml格式的数据,则直接返回xml文档内容 if(this.request.getResponseHeader('Content-Type').indexOf('xml')!=-1) { return this.request.responseXML.documentElement; }else {//否则返回字符格式的文本内容 //alert(this.request.responseText); return this.request.responseText; } } /** 类名:AjaxUpdater 创建日期:2008-3-12 版本:1.0 功能说明: 处理异步提交请求,和对请求状态的处理,以及对返回内容类型的分别处理 **/ AjaxUpdater={}; //初始化设置isUpdating属性为false AjaxUpdater.initialize=function() { //isUpdating用于应用程序任何地方确定一个请求是否正在运行 AjaxUpdater.isUpdating=false; } //初始化 AjaxUpdater.initialize(); //更新请求对象方法 //method:post或get方法 //service:也就是URL或附加?名=值&名=值的字符串 //callback:是可选参数,因为有一个默认的onResponse方法进行处理 AjaxUpdater.Update=function (method,service,callback) { //如果callback为空则默认设置onResponse方法进行处理 if(callback==undefined||callback=="") { callback=AjaxUpdater.onResponse; } //调用Ajax的发送请求方法进行异步请求 Ajax.makeRequest(method,service,callback); //设置当前运行标识为true AjaxUpdater.isUpdating=true; } //默认响应方法,当请求成功也就是=200时,将正在运行状态isUpdating设置为false,防止程序状态混乱 //注意:传入的参数loading是默认页面上id为loading的div或其他元素 //因此彼此页面中含有id为loading的元素 AjaxUpdater.onResponse=function () { //返回状态200 if(Ajax.checkReadyState("loading")==200) { AjaxUpdater.isUpdating=false; } } function initialize() { //alert("userValidator.asp"); AjaxUpdater.Update("GET","userValidator.asp",display); } function display() { try{ if(Ajax.checkReadyState('loading')=='OK') { alert("here"); info=Utilities.getElement("info"); //alert(Ajax.getResponse()); info.innerHTML=Ajax.getResponse(); } }catch(e) { //alert(e); document.write(e); } } </script> <body> <div id="loading"></div> <div id="info"> <form method="post"> <div>用户登陆</div> <div>用户名:<input type="text" id="userName" name="userName"/></div> <div>密码:<input type="text" id="password" name="password"/></div> <div><input type="button" value="submit" onclick="initialize();" /></div> </form> </div> </body> </html> <% 'Response.Write("<div>测试</div>") 'if Request("Action")="login" then userName=Request.QueryString("userName") password=Request.QueryString("passWord") if Request.QueryString("userName")="" or Request.QueryString("password")="" then Response.Write("<div>Is Empty</div>") else Set rs=Server.CreateObject("ADODB.RecordSet") sql="select * from userInfo where userName='"&userName&"' and password='"&password&"'" 'response.write sql rs.open sql,conn,2,2 if not rs.EOF then 'Response.Cookies("userInfo") Response.Write("<div id='panel'><div>我的收藏</div><div>修改资料</div><div>我的好友</div></div>") else Response.Write("<div>登陆失败</div>") end if end if 'end if %>