使用Ajax判断用户名是否存在

Ajax的基本元素:

Asynchronous(异步的)  JavaScript  And  Xml


ASP.NET服务器端可以是普通的aspx页面,也可以是一般处理程序(HttpHandler),还可以是Web Service。


一、实现服务器端的程序

首先添加一个aspx页面,手动清除前台页面中的所有HTML标记,最后只保留第一行代码(@Page指令)如下所示: 

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="UserExists.aspx.cs" Inherits="UserExists" %>


本页面的后台代码(服务器端)都在Page_Load方法中实现:

protected void Page_Load(object sender, EventArgs e)
    {
        //输出的格式为文本格式
        Response.ContentType = "text/plain";

        if (Request.QueryString["loginId"] != null)
        {
            //接受客户端发送的“用户名”数据
            string loginId = Request.QueryString["loginId"].Trim().ToString();
            if (loginId.Length > 0)
            {
                //根据“用户名”判断用户是否存在
                if (UserManager.GetById(loginId))
                {
                    Response.Write("true");
                }
                else
                {
                    Response.Write("false");
                }
            }
            else
            {
                Response.Write("false");
            }
        }
        else
        {
            Response.Write("false");
        }
    }


二、实现Ajax客户端


javascript代码:

    //创建XMLHttpRequest对象
 function createXMLHttpRequest()
 {
     if (window.ActiveXObject) {//如果是IE浏览器
         return new ActiveXObject("Microsoft.XMLHTTP");
     }
     else if (window.XMLHttpRequest) {//非IE浏览器
         return new XMLHttpRequest();
     }
 }

    //编写函数实现对服务器端的访问
 var xhr;//声明一个全局变量
 function userExists(loginId)
 {
     if (loginId != "") {

         //请求字符串
         var url = "UserExists.aspx?loginId=" + loginId;

         //1.创建XMLHttpRequest
         xhr = createXMLHttpRequest();

         //2.设置回调函数
         xhr.onreadystatechange = readyDo;

         //3.初始化XMLHttpRequest组件
         xhr.open(
                    "GET",//提交方式(通常是GET或POST)
                     url, //目标资源URL的字符串
                     true //指示请求是否是异步的
                  );

         //4.发送请求
         xhr.send(null);
     }
 }

    //实现回调函数从XMLHttpRequest对象中获取返回数据并进行处理
 function readyDo()
 {
     if (xhr.readyState==4 && xhr.status==200) {
         var result = xhr.responseText;

         //对返回结果进行处理
         if (result == "true")
         {
             //mess_double为HTML文档中定义的span元素的id,显示提示信息
             document.getElementById("mess_double").innerHTML = "该用户名已被注册,请重新输入!";
             document.getElementById("mess_double").style.color = "Red";
             document.getElementById("mess_double").style.display = "inline";
         }
         else
         {
             document.getElementById("mess_double").innerHTML = "该用户名可用!";
             document.getElementById("mess_double").style.color = "Green";
             document.getElementById("mess_double").style.display = "inline";
         }
     }
 }

html代码:

<label>用户名</label>
<asp:TextBox CssClass="opt_input" ID="txtLoginId" runat="server" οnblur="userExists(this.value)"></asp:TextBox>
<asp:RequiredFieldValidator ID="valrLoginId" runat="server" ErrorMessage="请输入用户名" ControlToValidate="txtLoginId">*</asp:RequiredFieldValidator>
<span id="mess_double" style="display:none;"></span>








  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,您可以通过以下步骤实现: 1. 在前端页面中,添加一个文本框用于输入用户名,并添加一个按钮用于触发验证用户是否存在的操作。 2. 在按钮的点击事件中,使用Ajax向后端发送请求,以验证用户名是否存在。 3. 后端接收到请求后,查询数据库中是否存在用户名,如果存在,则返回一个存在的标识;否则返回一个不存在的标识。 4. 前端通过接收到的标识来判断用户名是否存在,并进行相应的操作,如提示用户或者允许用户进行下一步操作。 下面是一个使用jQuery实现的示例代码: ```javascript // 前端代码 $('#check_username_btn').click(function() { var username = $('#username_input').val(); $.ajax({ url: '/check_username', type: 'POST', data: {username: username}, success: function(data) { if (data.exist) { alert('该用户名已被占用!'); } else { alert('该用户名可以使用!'); } }, error: function() { alert('请求失败!'); } }); }); // 后端代码 from flask import Flask, request, jsonify app = Flask(__name__) @app.route('/check_username', methods=['POST']) def check_username(): username = request.form.get('username') # 查询数据库中是否存在用户名 exist = db.query('SELECT * FROM users WHERE username=%s', [username]) return jsonify({'exist': exist}) if __name__ == '__main__': app.run() ``` 在上述代码中,我们使用了jQuery的ajax方法向后端发送POST请求,请求的数据包括用户名。后端接收到请求后,查询数据库中是否存在用户名,如果存在,则返回一个存在的标识;否则返回一个不存在的标识。前端通过接收到的标识来判断用户名是否存在,并进行相应的操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值