日期:2014-05-17  浏览次数:20617 次

ajax读取weatherwebserver数据
刚来公司几天
公司给了个任务
读取http://www.webxml.com.cn/WebServices/WeatherWebService.asmx数据并显示在页面上
如下图:


给我的参考代码是:
var URL="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx";
  var city = "北京";
  var data = '<?xml version="1.0" encoding="UTF-8"?>';
  data = data + '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
  data = data + '<soap:Body>';
  data = data + '<getWeatherbyCityName xmlns="http://WebXml.com.cn/">';
  data = data + '<theCityName>'+city+'</theCityName>';
  data = data + '</getWeatherbyCityName>';
  data = data + '</soap:Body>';
  data = data + '</soap:Envelope>';  
  if(window.ActiveXObject)
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  else if(window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
  xmlhttp.open("POST",URL, false);
  xmlhttp.setRequestHeader("CONTENT-TYPE","text/xml;charset=UTF-8");
  xmlhttp.setRequestHeader ("SOAPAction","http://WebXml.com.cn/getWeatherbyCityName");
  xmlhttp.send(data);
  var xmlDoc = xmlhttp.responseXML;
  var weather = new Array(23);
  for(i=0;i<23;i++)
  weather = xmlDoc.documentElement.childNodes(0).childNodes(0) .childNodes(0).childNodes(i).text;
  alert(weather);
我把上面代码放在javascript的函数内 
然后JSP 表单事件调用不行
T T求高手指教 不然今天回不了家了 在线等解答T T

------解决方案--------------------
用javascript调webservice这个还是头一次见

你应该在后台调用webservice,而不是在JS里调