//异步通讯对象的readyState的5种状态
//0 - (未初始化)还没有调用send()方法
//1 - (载入)已调用send()方法,正在发送请求
//2 - (载入完成)send()方法执行完成,已经接收到全部响应内容
//3 - (交互)正在解析响应内容
4 - (完成)响应内容解析完成,可以在客户端调用了
//if (this.readyState == 4)
//{
Http响应状态,值很多,但是我们只需要知道200为正常返回
//if (this.status == 200)
//{
//alert(this.responseText);
//}
///以上是注释说明
function stateChange()
{
if(xmlhttp.readystate==4)
{
if (this.status == 200)
{
var data=xmlhttp.ResponseText;//这是返回值
}
}
}
//ajax 异步保存 跟据不同的浏览器会有不同的操作
function getXmlHttpRequest()
{
if(window.ActiveXObject)
{
var ieArr=["Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.3.0", "Msxml2.XMLHTTP","Microsoft.XMLHTTP"];
for(var i=0;i<ieArr.length;i++)
{
var xmlhttp= new ActiveXObject(ieArr[i]);
}
return xmlhttp;
}
else if(window.XMLHttpRequest)
{
return new XMLHttpRequest();
}
}
function knowledgeAjax(typeORid,content)//在事件触发时调用这个方法 传入要操作的参数
{
var str="typeORid="+typeORid+"&content="+content;
xmlhttp=getXmlHttpRequest();
xmlhttp.onreadystatechange=stateChange;
xmlhttp.Open("GET","knowledgeCall.aspx?"+str,true);
xmlhttp.Send();
return false;
}
//以上内容是 javascript 内容 , 在操作页面调用
另外须要一个新页面 knowledgeCall.aspx 这个文件只需要下面这段代码
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="knowledgeCall.aspx.cs" Inherits="admin_knowledgeCall" %>
knowledgeCall.aspx .cs 页面 的内容,就是对异步的数据操作,跟平常的数据操作没什么两样
在最后的 返回值要这样写
Response.Write("返回值");