62,074
社区成员
发帖
与我相关
我的任务
分享
var Ajax = {
GetXmlHttp : function () {
var xmlHttp = null;
try {
xmlHttp = new XMLHttpRequest();
} catch (e) {
try {
xmlHttp = new ActiveXObject('Msxml2.XMLHTTP');
} catch (ee) {
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
}
}
return xmlHttp;
},
Process : function (ajaxInfo, processFun) {
var xmlObj = Ajax.GetXmlHttp();
if (!xmlObj) {
alert("抱歉,你的浏览器不支持AJAX。");
return;
}
var method = ajaxInfo.Method.toUpperCase();
var data = null;
xmlObj.open(method, ajaxInfo.Url, true);
if (method == "POST") {
data = ajaxInfo.Data;
xmlObj.setRequestHeader("Content-Length", data.Length());
xmlObj.setRequestHeader("CONTENT-TYPE", "application/x-www-form-urlencoded");
}
xmlObj.send(data);
xmlObj.onreadystatechange = function () {
if (xmlObj.readyState == 4) {
if (xmlObj.status == 200) {
var type = ajaxInfo.Type.toUpperCase();
if (type == "TEXT") {
processFun(xmlObj.responseText);
} else if (type == "XML") {
processFun(xmlObj.responseXML);
} else {
alert("无法识别的返回方式");
}
xmlObj = null;
}
}
};
}
}
public void ProcessRequest(HttpContext context)
{
HttpResponse response = context.Response;
response.Write("{ data:'testData', Url:'testUrl', User:{ Name:'IceCoffee', Age:26 } }");
response.End();
}
<script language="javascript" type="text/javascript">
<!--
//var postData = "userName=abc&userPass=123";
//var request = { Method:"POST", Url:"data.ashx?rnd=" + Math.random(), Data:postData, Type:"TEXT" };//注释的部分是POST调用方式,下面是GET调用方式
var request = { Method:"GET", Url:"data.ashx?rnd=" + Math.random(), Data:null, Type:"TEXT" };
Ajax.Process(request, function (data) {
var jason = "var obj = " + data + ";";
eval(jason);
alert(obj.User.Name);
});
//-->
</script>