您的位置:首页 > 其它

Ajax异步传值用法示例

2013-04-19 16:31 549 查看
1.前端页面包含脚本(ajax)和基本的HTML标记 以方便大家对应查找和理解

<script language="javascript">

    function addclick() { //点击触发addclick事件

var txtuserName = $("#txtuserName").val();//用jquery获取id为txtuserName的页面标记的value,存放在txtuserName变量里

$.ajax({

type: "POST",
//ajax的方式为post(get方式对传送数据长度有限制)

url: "/AjaxRequest/AddUser.ashx", //一般处理程序页面AddUser.ashx(在2中会写出该页面内容)

dataType: "json",
//数据传回的格式为json

data: { adduserName: txtuserName},
//要传送的数据键值对adduserName为键(方便2中的文件用此名称接受数据)txtuserName为值(要传递的变量,例如用户名)

success: function (data) {
//成功回传值后触发的方法

if (data != null && data.IS != "") { //如果回传的json不为null或json中的IS键对应的值不为空,则触发一下代码,否则弹出“请重新尝试”

if (data.IS == "-1") {
//如果json中的IS键对应的值为-1,则说明用户名已在数据库中存在

alert("添加失败!该名已存在!");

}

else if (data.IS == "0") {
//json中的IS键对应的值为0,则说明用户名没有添加成功

alert("添加失败!");

}

else if (data.IS == "-2") { //json中的IS键对应的值为-2,则说明数据库返回的主键列不能转换成INT32类型

alert("数据库连接失败或访问失败!");

}

else {

alert("添加成功!");

$("#txtuserName").val("");

}

}

else {

alert("请重新尝试!");

}

}

})

}

</script>

<body>

  <h2>

    <input id="txtuserName" name="" size="26" >

  </h2>

  <input type="button" value="提交" onclick="addclick()"/>

</body>

2.一般处理程序,即接受1中Ajax传来的值并传入BLL层

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int model = new BLL.User().AddUser(context.Request["adduserName"]); //通过context.Request获取1中Ajax里的data:中键值对的键名来得到用户名txtuserName并传入BLL层
context.Response.Write("{\"IS\":\""+model+"\"}"); //拼接json对象(键值对)model为运行存储过程后返回的数字
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: