在网上找到一个ajax的例子,但是怎么运行不通
后台:
protected void Page_Load(object sender, EventArgs e)
{
//这里你可以连至用户表检查是否存在这个用户名,当然如果你用membership中的验证方法会更简洁.
if (Server.HtmlEncode(UserName) == "123456")
Response.Write("regok");
else
Response.Write("error");
}
前台:
function ValidateUser()
{
//获得用于显示验证是否通过的详细信息
var obj=document.getElementById("default");
//获取用户输入的用户名的值
var str=document.getElementById("txtUserName").value;
//定义一个bool型变量
var chk=true;
if (chk){
//因为输入的用户名可能含有中文,所以将其解码
var username=escape(str);
//用于验证用户名的后台页面
var usrurl="Validate.aspx?UserName="+username;
//获取从验证页面中异步传输过来的值
var sta=GetResponseText(usrurl);
//如果异步传输失败
if(sta==false){
chk=true;
obj.className="d_ok";
obj.innerHTML='该会员未能检测,可以尝试注册。';
}
//异步传输成功
else{
//假如传过来的值的开始位置是"regok",这个值是在验证页面Response.Write出来的值,如果是regok则表示验证通过,否则的话就是验证失败.
if(sta.indexOf("regok")!=-1){
alert("ok");
//验证通过
chk=true;
//用于显示验证是否通过的详细信息加上刚刚所定义正确时的样式
obj.className="Right";
obj.innerHTML='该会员名可以注册。';
}else{
alert("no");
//验证未通过
chk=false;
//用于显示验证是否通过的详细信息加上刚刚所定义错误时的样式
obj.className="Error";
obj.innerHTML='该会员名已经被注册。';
}
}
}else{
obj.className="Error";
}
return chk;
}
function GetResponseText(url)
{
//定义一个http_request变量
var http_request;
if (window.XMLHttpRequest) {
//对于Mozilla、Netscape、Safari等浏览器,创建XMLHttpRequest对象
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {
//如果服务器响应的header不是text/xml,可以调用其它方法修改该header
http_request.overrideMimeType('text/xml');
}
} else if (window.ActiveXObject) {
// 对于Internet Explorer浏览器,创建XMLHttpRequest
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
alert("1");
} catch (e) {
try {
alert("2");
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
//打开验证页面的地址
http_request.open('GET', url, false);
http_request.send(null);
if (http_request.readyState == 4)
{
alert("3");
// 收到完整的服务器响应
if (http_request.status == 200) {
alert("4")