<!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="Scripts/jquery-1.4.1.js" type="text/javascript"></script> <script type="text/javascript"> function button_click() { var text = $("#txtbox1"); var xmlhttp = new ActiveXObject("MicroSoft.XMLHTTP"); //创建xmlhttp对象 if (xmlhttp == null) { alert("xmlhttp对象创建失败!"); return false; } xmlhttp.open("POST", "Handler1.ashx?id=" + text.val() + "&ts=" + new Date(), false); //准备向服务器上的GetData1.ashx发送POST请求 //ts="+new Data()是为了每次都给服务器传不同的参数值,这样浏览器才不会直接从缓存中读取post一般不会缓存,get可能缓存。如果参数值是中文,要进行encodeURI("中国")
//XMLHTTP默认(推荐)不是同步请求,也就是open方法不像WebClientDonwloadString
那样把服务器返回的数据拿到才返回,是异步的,因此需要监听onreadystatechange事件
xmlhttp.onreadystatechange = function () { if (xmlhttp.readystate == 4) { //服务器完成响应 if (xmlhttp.status == 200) { //客户端接收成功 text.val(xmlhttp.responseText); } } } xmlhttp.send(); } </script> </head> <body> <input id="txtbox1" type="text" /><input type="button" onclick="button_click()"/> </body> </html>
xmlhttp.open("POST","GetData1.ashx?ts="+new Data(),false);
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readyState==4){
if(xmlhttp.status==200){ //如果状态码为200表示成功返回数据
alert(xmlhttp.responseText);这里是服务器返回的文本
document.getElementById("textbox1").value=xmlhttp.responseText;//将文本返回到文本框中
}
else {
alert("ajax服务器返回错误!");
}
}
}
xmlhttp.send();//这时才开始发送请求
}
</script>
以下是jquery版ajax
<script type="text/javascript">
function button1_onclick(){
var txtbox1=$("#txtbox1").val();
var txtbox2=$("#txtbox2").val();
$.post("getdata.ashx",{"id":txtbox1,"name":txtbox2},function(data,textStatus){
if(textStatus=="success"){
alert("成功");
}
else{
alert("ajax错误!");
}
})
}
</script>