先建一个JS文件命名为Ajax.js
function
CreateXMLHttpRequest()//这里是构造XMLHttpRequest对象的方法

...
{
var xmlHttpRequest = null;//这里是大家都常用的IE,firefox中取得XMLHttpRequest对象的方法
try

...{

xmlHttpRequest = new XMLHttpRequest();
}
catch(e)

...{
try

...{
xmlHttpRequest=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)

...{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

}
}

return xmlHttpRequest;
}

function
AjaxSubmit(url,data,changeFunction)//url指定跳转页,data是要post的数据。changeFunction类似于函数指针

...
{
var xmlHttpResquest = CreateXMLHttpRequest();
xmlHttpResquest.open("post",url,true);
xmlHttpResquest.setRequestHeader("content-length",data.length);
xmlHttpResquest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttpResquest.send(data);

xmlHttpResquest.onreadystatechange = function ()

...{
if (xmlHttpResquest.readyState == 4)

...{
try

...{
if(xmlHttpResquest.status == 200)

...{
alert(xmlHttpResquest.responseText);
changeFunction(xmlHttpResquest.responseText);//这里可以调用想要的函数
}
}
catch(e)

...{
alert("over");
}
}
}

}
比如我有一个页面叫Start.html或者Start.aspx
<
head
>
<
title
>
Untitled Page
</
title
>
<
script type
=
"
text/javascript
"
src
=
"
Ajax.js
"
></
script
>
</
head
>
<
body
>
<
script language
=
"
javascript
"
type
=
"
text/javascript
"
>
AjaxSubmit(
"
Ajax.aspx
"
,
"
nodesInfoTxt=hh
"
,InitForAjax);
//
Ajax.aspx是接受数据的页面,InitForAjax是本页面接受到回发数据后要执行的函数。其他的为数据。
function InitForAjax(str)

...
{
alert(str);
}
</
script
>
</
body
>
一般.net生成的aspx页面是这样写的
<%
...
@ Page Language="C#" AutoEventWireup="true" CodeFile="Ajax.aspx.cs" Inherits="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
runat
="server"
>

</
head
>
<
body
>
<
form
id
="form1"
runat
="server"
>
<
div
>

</
div
>
</
form
>
</
body
>


</
html
>
下面为了回传数据仅仅是数据而不是连同整个页面一起发送过来。
在Ajax.aspx页面这样这样写(这一句就足够了)
<%
@ Page Language
=
"
C#
"
AutoEventWireup
=
"
true
"
CodeFile
=
"
Ajax.aspx.cs
"
Inherits
=
"
Ajax
"
%>
然后在它的后置类也就是Ajax.aspx.cs中这样写:
你在本函数结束处设一个断点,是否nodes就已经被赋值了呢?然后继续执行你的页面就会跳出一个bye的提示框。这就是Ajax异步传输。