功能描述:1 客户端向服务器端发送消息;
2 服务器端接受消息,验证;
3 服务器端返回结果给客户端;
4 客户端相应服务器返回结果。
HTML代码:
<form id="Form1" method="post" runat="server">
input type="button" value="Button" οnclick="Request()">
</form>
JS代码:
function Request() { if(window.XMLHttpRequest) { var xmlObj = new XMLHttpRequest(); } else { var MSXML =['Microsoft.XMLHTTP','MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP']; for(var n = 0; n < MSXML.length; n++) { try { var xmlObj = new ActiveXObject(MSXML[n]); break; } catch(e) {} } } xmlObj.open("POST","Test.aspx?IsAjaxRequest=true",true); xmlObj.send("CTidea AJAX Temple Testwww.ctidea.com"); //要发送的能容,自己定好了 xmlObj.onreadystatechange = function () { if (xmlObj.readyState == 4) { if(xmlObj.status == 200 || xmlObj.status == 304) { alert("nihao"); alert(xmlObj.responseText); } else { alert("Error loading page/n"+ xmlObj.status +":"+ xmlObj.statusText); } } } }
Asp.net 的服务器端代码:private void Page_Load(object sender, System.EventArgs e) { if(Request.QueryString["IsAjaxRequest"] != null) //用于判断是不是客户端的XMLHttp请求 { //string c = Request.QueryString["IsAjaxRequest"] ; Response.Clear(); byte[] myBytes = new byte[Request.ContentLength]; Request.InputStream.Read(myBytes,0,Request.ContentLength); //string d= Request.ContentEncoding.GetString(myBytes,0,Request.ContentLength); //Response.Write(Request.ContentEncoding.GetString(myBytes,0,Request.ContentLength)); Response.Write("dajiahao"); Response.End(); Response.Close(); } }