也是从《AJAX技术入门》的视频上摘录的代码,觉得蛮有用滴,记下来了,以后要用到AJAX的直接在自己的博客上找就得了,省了GOOGLE的时间,嘿嘿!
效果图如下:只是实现一个简单的用户名验证!
程序使用ASP.NET实现!
Default.aspx页面源码:
Html代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>AJAX五步使用法及中文乱码处理</title>
<script type="text/javascript">
var xmlhttp;
function submit() {
// 1.创建XMLHttpRequest对象
if (window.XMLHttpRequest) {
// IE7,IE8,FireFox,Mozilla,Safari,Opera
xmlhttp = new XMLHttpRequest();
if (xmlhttp.overrideMimeType) {
xmlhttp.overrideMimeType("text/xml");
}
} else if(window.ActiveXObject) {
// IE6,IE5.5,IE5
var activexName = ["MSXML2.XMLHTTP","Miscrosoft.XMLHTTP"];
for (var i = 0; i <activexName.length; i++) {
try{
xmlhttp = new ActiveXObject(activexName[i]);
break;
} catch(e) {
}
}
}
if (xmlhttp == undefined || xmlhttp == null) {
alert('当前浏览器不支持创建XMLHttpRequest对象,请更换浏览器');
return;
}
//2.注册回调方法
xmlhttp.onreadystatechange = callback;
//错误的写法
//xmlhttp.onreadystatechange = callback();
// 获取文本框中输入的内容,经过两次编码防止中文乱码
var userName = document.getElementById("UserName").value;
userName = encodeURI(encodeURI(userName));
// GET方式交互
// 3.设置和服务器端交互的相应参数
xmlhttp.open("GET","AJAXGB.ashx?name=" + userName,true);
// 4.设置向服务器端发送的数据,启动和服务器端的交互
xmlhttp.send(null);
/*
// POST方式交互
// 3.设置和服务器端交互的相应参数
xmlhttp.open("POST","AJAXGB.ashx",true);
// POST方式交互所需要增加的代码
xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// 4.设置向服务器端发送的数据,启动和服务器端的交互
xmlhttp.send("name=" + userName);
*/
}
function callback() {
// 5 .判断和服务器端的交互是否完成,还要判断服务器端是否正确返回了数据
if (xmlhttp.readyState == 4) {
// 表示和服务器端的交互已经完成
if (xmlhttp.status == 200) {
// 表示服务器的响应代码是200,正确的返回了数据
// 纯文本数据的接受方法
var message = xmlhttp.responseText;
// XML数据对应的DOM对象的接受方法
// 使用的前提是,服务器端需要设置content-type为text/xml
// var domXml = xmlhttp.responseXML;
//向div标签中填充文本内容的方法
var div = document.getElementById("message");
div.innerHTML = message;
}
}
}
</script>
</head>
<body>
<input type='text' id='UserName' value='牛腩' />
<input type='button' onclick='submit()' value='校验用户名' />
<br />
<div id="message">
</div>
</body>
</html>
一般处理程序AJAXGB.ashx源码:
C#代码:
<%@ WebHandler Language="C#" Class="AJAXGB" %>
using System;
using System.Web;
public class AJAXGB : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.ContentType = "text/plain";
string old = context.Request["name"];
if (string.IsNullOrEmpty(old))
{
context.Response.Write("用户名不能为空");
}
else
{
string name = context.Server.UrlDecode(old);
if (name.Equals("牛腩"))
{
context.Response.Write("用户名[" + name + "]已经存在,请使用其他用户名!");
}
else
{
context.Response.Write("用户名[" + name + "]尚未存在,可以使用该用户名注册!");
}
}
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}
分享到:
相关推荐
安全五步工作法.doc
js 中乱码处理法方式 encodeURIComponent(encodeURIComponent(customerAddress)) decodeURIComponent(customerName) js到java encodeURI(url) String qijuType= new String(request.getParameter( (...
DOU音五步定位法
心电图五步分析法.docx
《五步工作法》.doc
服装CAD五步教学法.pdf
微信三方营销五步成交法
店铺销售技巧五步训练法.ppt
五步对抗法PPT学习教案.pptx
初中语文语文论文五步教学法初探
网页设计资料
店铺销售技巧五步训练法PPT.ppt
文化生活课“五步教学法”探讨
参考资料-五步法搞定战略绩效实战设计.zip
女装销售技巧五步训练法培训课件.pptx
装饰工程施工放线方法五步放线法.ppt
千贝惠女装销售技巧五步训练法PPT.pptx
C语言中For循环语句的五步教学法.pdf
文献综述是对某一领域某一方面的课题、问题或研究专题搜集大量情报资料,分析综合当前该课题、问题或研究专题的最新进展、学术见解和建议,从而揭示有关问题的新动态...他的这个五步文献综述法倒还真的值得学习和借鉴。
指导运营的核心分析方法论:五步分析法 .doc