一个最最简单的Ajax例子

一个最最简单的Ajax例子

var xmlhttp;
       function Validation()
       {
            //实例化XMLHttpRequest对象
            xmlhttp =new ActiveXObject ("Microsoft.XMLHTTP");
            //找到名为“Text1”的文本框
            var name=document .getElementById ("Text1");
            //利用Open方法向指定URL
            //查询字符串“name”将文本框中的数据传送到目标页面
            xmlhttp.open("Post","AjaxDemo_1.aspx?name="+name.value);
            //设置当服务器响应返回时用于处理响应的函数名
            xmlhttp .onreadystatechange=OnMessageBack;
            //送发请求
            xmlhttp .send(null);
}
4)   添加OnMessageBack()函数的内容。代码如下:
function OnMessageBack()
       {
            //判断请求状态及HTTP状态是否都能满足条件
            if (xmlhttp .readystate==4&&xmlhttp .status==200)
            {
                //将返回的文本打印到页面上
                document .write (xmlhttp .responsetext);
            }
}
5)   下面为Button1添加事件代码,将其标签修改为
<input id="Button1" type="button" value="button" οnclick="Validation()" />
6)   页面中的Ajax引擎已经编写完毕。在上代码中,大家可以看到该用户名是通过一个名为“name”的查询字符串进行传递的,该查询字符串传递到服务器后需要进行后台处理,因此,要对“AjaxDemo_1.aspx.cs”中的Page_Load方法添加一些ADO.NET代码。这里的数据库使用的是“Northwind”示例数据库。代码如下所示。
protected void Page_Load(object sender, EventArgs e)
    {
        string name = Request.QueryString["name"];
        if (name != null)
        {
            SqlConnection con = new SqlConnection("");
            SqlCommand com = new SqlCommand();
            com.CommandText = "";
            com.Parameters.Add("@CustomerID",SqlDbType.NChar,5).Value =name;
            con.Open();
            int count = (int)com.ExecuteScalar();
            con.Close();
            if (count == 0)
            {
               Response.Write("<script>alert('该用户可以用!');</script>");
            }
            else
            {
                Response.Write("<script>alert('该用户已经被占用,请使用其他用户名!');</script>");
            }
        }
}
这里要注意,当服务器利用Response.Write()方法向客户端发出响应后,客户端的Ajax引擎就截获该响应流,并在我们事先定义的“OnMessageBack()”方法中进行处理

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值