asp.net+ajax的Post请求实例
本文实例讲述了asp.net+ajax的Post请求的实现方法。分享给大家供大家参考。具体如下:
//一个ajax的Post请求 functionsubmitInfo(){ $(".warn").hide();//刚提交的时候隐藏错误的信息 vardata=$("#formData").serialize();//将表单的数据通过序列化表单值,创建URL编码文本字符串。形成一个表单元素集合的jQuery对象 $.post("/login/checkLoginInfo",data,function(ajaxObj){//将数据提交到login控制器下的CheckLOginInfo方法。参数是data。 如果请求成功,function就是请求成功时执行的回调函数。ajaxObj是checkLoginInfo方法的返回数据 //回传内容{status:1(success)/0(fail),} if(ajaxObj.status==0||status==null){//如果返回状态为0或者为null $(".warn").show();//将错误信息显示出来 }else{ //登陆成功,跳转都制定页面 window.location='/HotelList/Index'; } },"json"); }
注意这条语句的参数,与回调函数loginFinish与上面条$.Post()请求的区别
$.post("/ajax/UserLogin.ashx", {"username":username,"password":password}, loginFinish);
<htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <title></title> <linkhref="/css/ui-lightness/jquery-ui-1.8.2.custom.css"rel="stylesheet"type="text/css"/> <scriptsrc="/js/jquery-1.4.2.js"type="text/javascript"></script> <scriptsrc="/js/jquery-ui-1.8.2.custom.js"type="text/javascript"></script> <scripttype="text/javascript"> //向服务器请求当前登录状态,然后切换登录区域的显示 varcheckLogin=function(){ $.post("/ajax/CheckLogin.ashx",function(data){ varstrs=data.split("|"); if(strs[0]=="no"){ //alert("木有登陆"); $("#divLoginArea").show();//如果没有登陆就显示"登陆" $("#divLoginOutArea").hide();//隐藏"注销" } else{ //切换“登录”、“注销”的两个层 $("#divLoginArea").hide();//隐藏"登陆" $("#divLoginOutArea").show();//显示"注销" $("#spanUserName").text(strs[1]);//把当前登录用户名显示出来 } }); } varloginFinish=function(data){ //这是一个回调函数 if(data=="ok"){ //alert("成功"); $("#divLogin").dialog("close");//登录成功关闭窗口 checkLogin();//登录成功,刷新登录区域的显示 } else{ alert("用户名密码错误"); } }; $(function(){ $("#btnShowLoginDlg").click(function(){ $("#divLogin").dialog({ height:200, modal:true }); }); $("#btnLogin").click(function(){ //当用户点击"登陆"控件触发事件 //todo:检验用户名、密码不能为空 varusername=$("#txtUserName").val(); varpassword=$("#txtPwd").val(); $.post("/ajax/UserLogin.ashx",//----------------------请关注这条$.Post()请求的参数与回调函数 {"username":username,"password":password}, loginFinish); }); }); $(function(){ checkLogin();//刚进入页面的时候也是先向服务器查询当前登录状态 $("#btnLogout").click(function(){ $.post("/ajax/Logout.ashx",function(){ checkLogin();//刷新显示 }); }); }); </script> <asp:ContentPlaceHolderID="head"runat="server"> </asp:ContentPlaceHolder> </head> <body> <formid="form1"runat="server"> <div> <divid="divLoginArea"style="display:none"><inputtype="button"value="登录"id="btnShowLoginDlg"/></div> <divid="divLoginOutArea"style="display:none"> <spanid="spanUserName"></span> <inputtype="button"value="注销"id="btnLogout"/> </div> <divid="divLogin"title="登录窗口" style="display:none"> <table> <tr><td>用户名:</td><td><inputtype="text" id="txtUserName"/></td></tr> <tr><td>密码:</td><td><inputtype="password" id="txtPwd"/></td></tr> <tr><tdcolspan="2"><inputtype="button"value="登录"id="btnLogin"/></td></tr> </table> </div> <br/> <asp:ContentPlaceHolderID="placeHolderMain"runat="server"> </asp:ContentPlaceHolder> <br/> 尾部<br/> </div> </form> </body> </html>
希望本文所述对大家的asp.net程序设计有所帮助。