利用jQuery实现的Ajax 验证用户名是否存在

异步刷新实现方式有多种,也可以借助JS的多种框架,下面是使用jQuery框架实现的AJAX 验证用户名是否存在

jQuery.ajax概述

HTTP 请求加载远程数据。

通过jQuery 底层 AJAX 实现。简单易用的高层实现见 $.get, $.post 等。$.ajax() 返回其创建的 XMLHttpRequest对象。大多数情况下你无需直接操作该对象,但特殊情况下可用于手动终止请求。

$.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数信息。详细参数选项见下。

注意: 如果你指定了 dataType 选项,请确保服务器返回正确的 MIME 信息,(如 xml 返回 "text/xml")。错误的 MIME 类型可能导致不可预知的错误。见 Specifying the Data Type for AJAX Requests 。

注意:如果dataType设置为"script",那么在远程请求时(不在同一个域下),所有POST请求都将转为GET请求。(因为将使用DOM的script标签来加载)

jQuery 1.2 中,您可以跨域加载 JSON 数据,使用时需将数据类型设置为 JSONP。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。数据类型设置为 "jsonp"时,jQuery 将自动调用回调函数。

参数列表:

参数名 

类型 

描述 

url  

String

(默认: 当前页地址) 发送请求的地址。 

type 

String

(默认: "GET") 请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。 

timeout 

Number

设置请求超时时间(毫秒)。此设置将覆盖全局设置。 

async  

Boolean

(默认: true) 默认设置下,所有请求均为异步请求。如果需要发送同步请求,请将此选项设置为 false。注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。 

beforeSend  

Function

发送请求前可修改 XMLHttpRequest 对象的函数,如添加自定义 HTTP头。XMLHttpRequest 对象是唯一的参数。

function (XMLHttpRequest) {

  this; // the options for this ajax request

}

cache  

Boolean

(默认: true) jQuery 1.2 新功能,设置为 false 将不会从浏览器缓存中加载请求信息。 

complete  

Function

请求完成后回调函数 (请求成功或失败时均调用)。参数: XMLHttpRequest对象,成功信息字符串。

function (XMLHttpRequest, textStatus) {

  this; // the options for this ajax request

}

contentType  

String

(默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。 

data

Object,
String

发送到服务器的数据。将自动转换为请求字符串格式。GET 请求中将附加在URL 后。查看 processData 选项说明以禁止此自动转换。必须为Key/Value 格式。如果为数组,jQuery 将自动为不同值对应同一个名称。如{foo:["bar1", "bar2"]} 转换为 '&foo=bar1&foo=bar2'。

dataType

String

预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包MIME 信息返回 responseXML 或 responseText,并作为回调函数参数传递,可用值:

"xml": 返回 XML 文档,可用 jQuery 处理。

"html": 返回纯文本 HTML 信息;包含 script 元素。

"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。

"json": 返回 JSON 数据 。

"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。

error

Function

(默认: 自动判断 (xml 或 html)) 请求失败时将调用此方法。这个方法有三个参数:XMLHttpRequest 对象,错误信息,(可能)捕获的错误对象。

function (XMLHttpRequest, textStatus, errorThrown) {

  // 通常情况下textStatus和errorThown只有其中一个有值

  this; // the options for this ajax request

}

global

Boolean

(默认: true) 是否触发全局 AJAX 事件。设置为 false 将不会触发全局 AJAX事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件

ifModified

Boolean

(默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。

processData

Boolean

(默认: true) 默认情况下,发送的数据将被转换为对象(技术上讲并非字符串)以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

success

Function

请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态

function (data, textStatus) {

  // data could be xmlDoc, jsonObj, html, text, etc...

  this; // the options for this ajax request

}

这里有几个Ajax事件参数:beforeSend success complete ,error 。我们可以定义这些事件来很好的处理我们的每一次的Ajax请求。注意一下,这些Ajax事件里面的 this 都是指向Ajax请求的选项信息的(请参考说 get() 方法时的this的图片)。
请认真阅读上面的参数列表,如果你要用jQuery来进行Ajax开发,那么这些参数你都必需熟知的。

实例:

1、请求页面AJax.aspx

HTML代码


<div>
        <input id="txtName" type="text" /><input type="button" value="查看用户名是否存在" id="btn" οnclick="JudgeUserName();" />
        <div id="showResult" style="float:left">div>
    div>

 

JS代码


<script type="text/javascript" src="CSS/jquery-1.3.2.js"></script>
     <script type="text/javascript">
        function JudgeUserName()
        {
            $.ajax({
            type:"GET",
            url:"AjaxUserInfoModify.aspx",
            dataType:"html",
            data:"userName="+$("#txtName").val(),
            beforeSend:function(XMLHttpRequest)
                {
                    $("#showResult").text("正在查询");
                    //Pause(this,100000);
                },
            success:function(msg)
                {   
                    $("#showResult").html(msg);
                    $("#showResult").css("color","red");
                },
           complete:function(XMLHttpRequest,textStatus)
                {
                    //隐藏正在查询图片
                },
          error:function()
               {
                    //错误处理
               }
            });
        }

     </script>

 

2 、页面AjaxUserInfoModify.aspx

后台代码


protected void Page_Load(object sender, EventArgs e)
    {
        string userName = Request.QueryString["userName"].ToString ();
        if (userName == "James Hao")
        {
            Response.Write ("用户名已经存在!");
        }
        else
        {
            Response.Write ("您可以使用此用户名!");
        }
}

3、运行界面

(1)初始化界面

 

(2)正在查询提示页面

 

(3) 验证用户名已经存在页面

 

(4)  验证用户名未存在页面

 

至此 AJAX验证用户名是否存在的功能已经完成。

转载于:https://www.cnblogs.com/songmz/p/3964480.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/407196.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML DOM之节点操作方法(2)

9.document.hasFocus()方法返回布尔值&#xff0c;用于检测文档(或文档内的任一元素)是否获取焦点。没有参数 10.node.hasChildNodes()方法返回 true&#xff0c;如果指定节点拥有子节点&#xff0c;否则返回 false。没有参数 11.node.isDefaultNamespace(namespaceURI)方法返回…

git clone、git pull和git fetch的用法及区别

1.git clone git clone顾名思义就是将其他仓库克隆到本地&#xff0c;包括被clone仓库的版本变化。举个例子&#xff0c;你当前目录比方说是在e:/course/中&#xff0c;此时若想下载远程仓库&#xff0c;本地无需git init,直接git clone url&#xff08;url是你远程仓库的地址…

求一个整数的阶乘结果中后缀0的个数

问题描述&#xff1a; 给一个整数&#xff0c;请输出该数字阶乘的后缀0的个数&#xff0c;例如&#xff1a; 数字7&#xff0c;它的阶乘为5040&#xff0c;后面有一个0&#xff0c;则输出1&#xff1b;还有数字10&#xff0c;它的阶乘为3628800&#xff0c;后面有两个0&#x…

(转载)Android两种Tab分页的方式:TabActivity和ActivityGroup以及Android项目几种常见的应用架构...

在Android里面Tab分页&#xff0c;常用的方法有两种&#xff1a; 一、TabActivity和TabHost的结合 1.主类继承TabActivity public class Tagpage extends TabActivity 2.获取当前TabHost对象 final TabHost tabHost getTabHost(); 3.添加Tab分页标签,这里就是关键&#xff0c;…

CSS3之Transition

css的transition允许css的属性值在一定的时间区间内平滑地过渡。这种效果可以在鼠标单击、获得焦点、被点击或对元素任何改变中触发&#xff0c;并圆滑地以动画效果改变CSS的属性值 1.语法&#xff1a;transition: property duration timing-function delay; 参数1&#xff1…

解决qrcode动态生成二维码时多次点击生成多个二维码的问题

getEwm(url){document.getElementById("qrcode").innerHTML "";var qrcode new QRCode(this.$refs.qrCodeUrl, {text: url,width: 200,height: 200,colorDark: #000000,colorLight: #ffffff,correctLevel: QRCode.CorrectLevel.H})},即生成二维码之前先将…

无线运维——J2ME和WAP运维方式的优缺点

随着信息技术的发展&#xff0c;软件产品进入了多接入渠道的新阶段&#xff0c;这些接入渠道既包括传统的Socket、Web等方式&#xff0c;也包含WAP, SMS,EMAIL等方式。网络管理软件作为软件产品的一个小的分支&#xff0c;在多接入渠道方面&#xff0c;也有了很大的发展。今天我…

没有光驱怎样从硬盘上安装Windows XP系统

不少朋友问我&#xff0c;电脑上的光驱坏了&#xff0c;要重装系统怎么办&#xff1f;下面我就给大家介绍如何从从硬盘安装系统。 一、准备工作 &#xff11;、准备一个原版XP SP3系统&#xff0c;用WINRAR解压把I386文件包直接提取出来。只需提取I386文件包,其它的不需要了。…

UVA 1025 A Spy in the Metro DP水题

简单DAG&#xff0c;每个状态有三种决策&#xff0c;原地傻等&#xff0c;上往左开的车&#xff0c;上往右开的车。 #include <cstdio> #include <cstring> #include <iostream> #include <map> #include <set> #include <vector> #includ…

CSS3之Transform

Transform字面上就是变形&#xff0c;改变的意思。在CSS3中transform主要包括以下几种&#xff1a;旋转rotate、扭曲skew、缩放scale和移动translate以及矩阵变形matrix 语法&#xff1a;transform: rotate | scale | skew | translate |matrix 1.旋转rotate rotate(<ang…

解决 “数据大屏“ 展示的屏幕适配问题

现在非常流行的大数据可视化方案&#xff0c;不过要做数据大屏有一个很重要的问题就是屏幕适配。 vue项目使用flexible.js和rem适配 vue中使用flexible.js实现屏幕自适应 一、引入flexible文件 flexible是移动端屏幕适配非常著名的的插件&#xff0c;能够帮助我们修改rem的值&…

论图书营销中的“托”

论图书营销中的“托” 一、引言 提到“托”&#xff0c;让我想起了小时候&#xff08;1987年左右&#xff09;发生在汉正街的一些关于“拖”的故事。这些故事大致的模式都差不多&#xff1a;若干人一伙&#xff0c;一部分人充当卖主&#xff0c;在街边摆个地摊&#xff08;不知…

共享内存---shmget shmat shmdt

From: http://fengxue103.blog.hexun.com/32303320_d.html 要使用共享内存&#xff0c;应该有如下步骤&#xff1a; 1.开辟一块共享内存 shmget() 2.允许本进程使用共某块共享内存 shmat() 3.写入/读出 4.禁止本进程使用这块共享内存 shmdt() 5.删除这块共享内存 shmctl()或者命…

React开发(127):引入icon的方式

新增 icon 步骤&#xff1a;1&#xff0c;找到对应icon库&#xff0c;然后点击下载至本地按钮。2&#xff0c;解压下载的文件&#xff0c;找到 iconfont.css 3&#xff0c;打开该文件&#xff0c;从第三个类开始复制&#xff0c;然后集体替换这个文件的第三个类

“入洞房与度蜜月”的来历

中华民族文明史距今已有五千多年了&#xff0c;人们把结婚仍然称为“入洞房”&#xff0c;尽管人类从洞穴式居住过渡到今天的高楼大厦&#xff0c;但入洞房这一名词至今仍未改变。从来没见过谁把“入洞房”改为“入楼房”。 传说&#xff0c;这是我们祖先轩辕黄帝规定下来的…

STL容器的capacity()和reserve()演示-----vector

#include <iostream>#include <vector>using namespace std;int main(){vector<int> v;cout<<v.size()<<", "<< v.capacity()<<endl;v.reserve(12);for(int i 0; i < 13; i) // 超出vector本身容量后&#xff0c;会导…