标签:ajax
XMLHttpRequest和ActiveXObject的区别
XMLHttpRequest和ActiveXObject学习
ajax请求页
<!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></title>
<script src="js/jquery-1.10.2.min.js" type="text/javascript"></script>
<script type="text/javascript">
function btnClick() {
//var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); //创建XMLHTTP对象,相当于WebClient。老版本的 Internet Explorer (IE5 和 IE6)使用 ActiveX 对象 而新版本的任何浏览器都是支持下面所有现代浏览器都内建了 XMLHttpRequest 对象。所以一般情况下,我们都用XMLHttpRequest。所以,这一句可以用下面的var xmlhttp = new XMLHttpRequest()来替代
var xmlhttp = new XMLHttpRequest();//通过XMLHttpRequest对象来和服务器进行通信;在与服务器进行异步数据传输时,传输的数据更少;更好的用户体验.
if (!xmlhttp) { //如果没有成功创建XMLHTTP对象,即创建失败,就弹出失败消息
alert("创建xmlhttp对象异常");
return false;
}
xmlhttp.open("POST", "Handler1.ashx", false)//准备向服务器Handler1.ashx发出get请求
//XMLHTTP默认(也推荐)不是同步请求的,也就是Open方法并不像WebClinet的DownloadString那样吧服务器返回的数据拿到才返回,是异步的,因此需要监听onreadystatechange事件
xmlhttp.onreadystatechange = function () { //注册一个事件
//// readyState是请求的状态,它有5个值:0=未初始化;1=正在加载;2=已经加载;3=交互中;4=完成,即数据接收完毕;
if (xmlhttp.readyState == 4) { //数据接收完毕,此时可以通过通过responseBody和responseText获取完整的回应数据
if (xmlhttp.status == 200) {//如果状态码为200 则异步请求成功
document.getElementById("txt1").value = xmlhttp.responseText; //responseText属性为服务器返回的文本
}
else {
alert("ajax服务器返回错误");
}
}
}
xmlhttp.send(); //这个时候才是开始发送请求
}
</script>
</head>
<body>
<input type="text" id="txt1" />
<input type="button" value="提交" onclick="btnClick()" />
</body>
</html>
服务器页
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace AJAX
{
/// <summary>
/// Handler1 的摘要说明
/// </summary>
public class Handler1 : IHttpHandler
{
/// <summary>
/// 在页面输出当前时间
/// </summary>
/// <param name="context"></param>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/html";
//context.Response.Write("Hello World");
context.Response.Write(DateTime.Now);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}标签:ajax
原文地址:http://blog.csdn.net/fanbin168/article/details/39962757