asp.net结合Ajax验证用户名是否存在的代码

  1, 使用JavaScript js文件,验证用户名是否存在

  

复制代码 代码如下:

  var ajax = function(option)

  {

  var request;

  var createRequest = function()

  {

  //var request;

  if (window.XMLHttpRequest)

  {

  request = new XMLHttpRequest();

  }

  else

  {

  try

  {

  request = new ActiveXObject("Microsoft.XMLHTTP");

  }

  catch (e)

  {

  request = new ActiveXObject("Msxml2.XMLHTTP");

  }

  }

  return request;

  }

  var sendRequest = function()

  {

  request = createRequest();

  /*---------GET 和 POST的区别------------

  1、 get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

  post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

  2、 对于get方式,服务器端用Request.QueryString获取变量的值,

  对于post方式,服务器端用Request.Form获取提交的数据。

  两种方式的参数都可以用Request来获得。

  3、 get传送的数据量较小,不能大于2KB。

  post传送的数据量较大,一般被默认为不受限制。

  4、 get安全性非常低,post安全性较高。

  5、 当我们在提交表单的时候我们通常用post方式,当我们要传送一个较大的数据文件时,需要用post。

  当传递的值只需用参数方式(这个值不大于2KB)的时候,用get方式即可。

  */

  request.open("GET", option.url, true);

  //request.open("POST", option.url, true);

  //发送请求之前设置该属性,获取服务器上的准备状态

  request.onreadystatechange = ResponseRequest;

  request.send(null);

  }

  /*

  request.readyState == 4说明服务器已经收到一个响应

  request.status == 200,HTTP服务器响应的状态值,表示一切顺利

  HTTP的就绪状态

  0:请求没有发出(在调用 open() 之前)。

  1:请求已经建立但还没有发出(调用 send() 之前)。

  2:请求已经发出正在处理之中(这里通常可以从响应得到内容头部)。

  3:请求已经处理,响应中通常有部分数据可用,但是服务器还没有完成响应。

  4:响应已完成,可以访问服务器响应并使用它。

  */

  var ResponseRequest = function()

  {

  alert("HTTP的就绪状态: "+request.readyState);

  if (request.readyState == 4)

  {

  if (request.status == 200)

  {

  alert("一切顺利!");

  option.Success(request);

  }

  else

  {

  alert("出现错误,错误信息为: "+request.status);

  option.Failure(request);

  }

  }

  }

  sendRequest();

  }

  //判断输入的数值是否存在

  function getIS()

  {

  /*

  1,url是要链接的页面和传过去的值,传过去值,让动态页面执行

  2,Default.aspx为要为这个执行的页面

  3,name是传过去的参数名

  4,document.getElementById('Text1').value传过去的参数值

  5,message.responseText成功之后从服务端返回的消息

  */

  var option =

  {

  url: "Default.aspx?name="+document.getElementById('Text1').value,

  Success:function(message)

  {

  alert(message.responseText);

  }

  };

  new ajax(option);

  }

  Aspx文件

  

复制代码 代码如下:

  if (Request["name"] != null)

  {

  this.Response.Clear();

  string name = Request["name"].ToString();

  if (name == "1")

  {

  Response.Write("用户名已存在,请填写其他的用户名!");

  }

  else

  {

  Response.Write("该用户名没被注册,可以使用!");

  }

  this.Response.End();

  }

  2, 通过Jquery实现:

  

复制代码 代码如下:

  $(document).ready(function(){

  $("#Button1").click(function(){

  $.ajax({

  type:"GET",

  url:"ResponsePage.aspx?name="+document.getElementById('Text1').value,

  success:function(message) {

  alert(message);

  }

  });

  });

  });