爱东东

VS.NET,IT,个人,个人网站 爱东东 http://www.idongdong.net

 

XmlHttp调用例子

A域(a.com)中server.aspx.cs的Page_Load事件中,获取传递入的参数,经过业务逻辑,最终通过Response.Write回写如下:
XmlDocument xml =......
......
this.Response.Write(xml.OuterXml);

同域中client.aspx页面代码中
  function f_callxmlhttp(url){
   var xmlhttp=null;
   if (navigator.appName.indexOf("Microsoft") != -1) {
    xmlhttp = new ActiveXObject("MSXML2.XMLHTTP.3.0");
    xmlhttp.open("GET",url,false);
    xmlhttp.send();
   } else {
    xmlhttp = new XMLHttpRequest();
    xmlhttp.open("GET",url,false);
    xmlhttp.send(null);
   }
   return xmlhttp.responseText;
  }
  function f_loadxml(xmlcont){
   var xml=null;
   if (navigator.appName.indexOf("Microsoft") != -1) {
    xml = new ActiveXObject("Msxml2.DOMDocument");
    xml.loadXML(xmlcont);
    xml.async=false;
   } else {
    var parser=new DOMParser();
    xml =parser.parseFromString(xmlcont,"text/xml");
   }
   return xml;
  }
  function f_doxmlhttp(){
   var callurl = "http://www.a.com/server.aspx?aid=1&bid=1";
   var s=f_callxmlhttp(callurl);
   var xml=f_loadxml(s);
   //对xml进行业务逻辑处理
  }

在页面写一个button,onclick事件中写入调用方法
<input type=button onclick="f_doxmlhttp();" value="Test" />

XmlHttp的缺陷在于跨域,如果要解决跨域获取返回的问题,可以参考http://www.cnblogs.com/hmmcsdd/archive/2007/04/13/JSGetResultCrossDomain.html

posted on 2007-04-13 10:09  爱东东  阅读(458)  评论(0)    收藏  举报

导航