通过URL异步回调信息

本文介绍了一种通过URL传递信息并利用AJAX进行异步回调的方法,适用于从服务器获取特定数据的场景。首先,注册NavigateUrl并设置需要的参数;其次,创建CGI URL并初始化XMLHttpRequest对象;接着,服务器端处理请求并返回数据;最后,客户端的回调函数接收到数据并更新页面元素。

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值