通过URL异步回调信息

来源:互联网 发布:mac系统删除windows 编辑:程序博客网 时间:2024/05/16 04:41

 在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;
                  }   
   }
        }

原创粉丝点击