在URL中传送需要的信息,然后通过AJAX回调获取。
适用于获取点击树节点获取其信息等情况。
使用方法:
1.注册NavigateUrl,或者其他什么URL超链接传送自己需要的值,
tempNode.NavigateUrl = "javascript:navigate('" + dv[i]["value"].ToString()+ "' +)";
比如设置这个节点的URL,传送需要的值。
2.在脚本中实现navigate这个方法
// 创建服务器端 CGI 的URL
//比如需要哪个页面获取NavigateUrl 超链接,那个页面可以处理一些数据,然后将数据回传回来。
var url = "ajax/GetTypeName.aspx?TypeNo=" + str1+"&Floor="+floor+"&new="+new Date().getTime();
xmlHttp.open("GET",url,true);
// 设置回调函数
xmlHttp.onreadystatechange = callBack_GetTypeName;
// 发送请求
xmlHttp.send(null);
当然咯,这个方法还必须要判断XMLHttpRequest哦
try
{
xmlHttp = new XMLHttpRequest();
}
catch(e)
{
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e2)
{
xmlHttp = false;
}
}
}
3.在处理数据的那个页面,需要将获取的值传回给你:用到Response.Write
Response.Write(TypeNoClass + "," + strTypeName+"$");
4.实现回调函数,就能获取值了。
function callBack_GetTypeName()
{
if(xmlHttp.readyState == 4)
{
if (xmlHttp.status == 200 || xmlHttp.status == 0)
{
//定义并获取一个响应对象
var result = xmlHttp.responseText;
var index=result.indexOf("$");
result = result.substring(0,index);
var n = result.indexOf(",");
//获取值
var TypeNo = result.substring(0,n);
var TypeName = result.substring(n+1);
document.getElementById("txtTypeNo").value = TypeNo;
document.getElementById("txtTypeName").value = TypeName;
}
}
}
本文介绍了一种通过URL传递信息并利用AJAX进行异步回调的方法,适用于从服务器获取特定数据的场景。首先,注册NavigateUrl并设置需要的参数;其次,创建CGI URL并初始化XMLHttpRequest对象;接着,服务器端处理请求并返回数据;最后,客户端的回调函数接收到数据并更新页面元素。
1078

被折叠的 条评论
为什么被折叠?



