asp.net+ajax的Post请求实例
程序员文章站
2024-02-16 22:04:28
本文实例讲述了asp.net+ajax的post请求的实现方法。分享给大家供大家参考。具体如下:
复制代码 代码如下://一个ajax的post请求  ...
本文实例讲述了asp.net+ajax的post请求的实现方法。分享给大家供大家参考。具体如下:
复制代码 代码如下:
//一个ajax的post请求
function submitinfo() {
$(".warn").hide(); //刚提交的时候隐藏错误的信息
var data = $("#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");
}
function submitinfo() {
$(".warn").hide(); //刚提交的时候隐藏错误的信息
var data = $("#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);
{ "username": username, "password": password },
loginfinish);
复制代码 代码如下:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="/css/ui-lightness/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />
<script src="/js/jquery-1.4.2.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.2.custom.js" type="text/javascript"></script>
<script type="text/javascript">
//向服务器请求当前登录状态,然后切换登录区域的显示
var checklogin = function () {
$.post("/ajax/checklogin.ashx", function (data) {
var strs = data.split("|");
if (strs[0] == "no") {
//alert("木有登陆");
$("#divloginarea").show(); //如果没有登陆就显示"登陆"
$("#divloginoutarea").hide(); //隐藏"注销"
}
else {
//切换“登录”、“注销”的两个层
$("#divloginarea").hide(); //隐藏"登陆"
$("#divloginoutarea").show(); //显示 "注销"
$("#spanusername").text(strs[1]);//把当前登录用户名显示出来
}
});
}
var loginfinish = 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:检验用户名、密码不能为空
var username = $("#txtusername").val();
var password = $("#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:contentplaceholder id="head" runat="server">
</asp:contentplaceholder>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="divloginarea" style="display:none"><input type="button" value="登录" id="btnshowlogindlg" /></div>
<div id="divloginoutarea" style="display:none">
<span id="spanusername"></span>
<input type="button" value="注销" id="btnlogout" />
</div>
<div id="divlogin" title="登录窗口" style="display:none">
<table>
<tr><td>用户名:</td><td><input type="text" id="txtusername"/></td></tr>
<tr><td>密码:</td><td><input type="password" id="txtpwd"/></td></tr>
<tr><td colspan="2"><input type="button" value="登录" id="btnlogin" /></td></tr>
</table>
</div>
<br />
<asp:contentplaceholder id="placeholdermain" runat="server">
</asp:contentplaceholder>
<br />
尾部<br />
</div>
</form>
</body>
</html>
<head runat="server">
<title></title>
<link href="/css/ui-lightness/jquery-ui-1.8.2.custom.css" rel="stylesheet" type="text/css" />
<script src="/js/jquery-1.4.2.js" type="text/javascript"></script>
<script src="/js/jquery-ui-1.8.2.custom.js" type="text/javascript"></script>
<script type="text/javascript">
//向服务器请求当前登录状态,然后切换登录区域的显示
var checklogin = function () {
$.post("/ajax/checklogin.ashx", function (data) {
var strs = data.split("|");
if (strs[0] == "no") {
//alert("木有登陆");
$("#divloginarea").show(); //如果没有登陆就显示"登陆"
$("#divloginoutarea").hide(); //隐藏"注销"
}
else {
//切换“登录”、“注销”的两个层
$("#divloginarea").hide(); //隐藏"登陆"
$("#divloginoutarea").show(); //显示 "注销"
$("#spanusername").text(strs[1]);//把当前登录用户名显示出来
}
});
}
var loginfinish = 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:检验用户名、密码不能为空
var username = $("#txtusername").val();
var password = $("#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:contentplaceholder id="head" runat="server">
</asp:contentplaceholder>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="divloginarea" style="display:none"><input type="button" value="登录" id="btnshowlogindlg" /></div>
<div id="divloginoutarea" style="display:none">
<span id="spanusername"></span>
<input type="button" value="注销" id="btnlogout" />
</div>
<div id="divlogin" title="登录窗口" style="display:none">
<table>
<tr><td>用户名:</td><td><input type="text" id="txtusername"/></td></tr>
<tr><td>密码:</td><td><input type="password" id="txtpwd"/></td></tr>
<tr><td colspan="2"><input type="button" value="登录" id="btnlogin" /></td></tr>
</table>
</div>
<br />
<asp:contentplaceholder id="placeholdermain" runat="server">
</asp:contentplaceholder>
<br />
尾部<br />
</div>
</form>
</body>
</html>
希望本文所述对大家的asp.net程序设计有所帮助。