请问楼主,怎么用java脚本调用webservices的方法,可以告诉吗
不好意思

解决方案 »

  1.   

    >>>>但我用XMLDocument来读取时老是出错。what error? can you try/catch and show us the error?>>>>XMLDocument
    I don't remember javascript has an XMLDocument object, are you talking about MSXML2.DOMDOCUMENT?
      

  2.   

    就是MSXML2.DOMDOCUMENT,
    用webservice.htc读取WEB服务返回的数据。
    老是出错。我已经读取了DataSet的XML表达形式,
    可具体读取一个节点时出错。
    说对象为空。
      

  3.   

    var bbXML = new ActiveXObject("Msxml2.DOMDocument");
                   bbXML.async = false;
                   var xmlResult =event. result.raw.xml;
                   
                   if (xmlResult != "" && xmlResult != null) 
                   {
                      bbXML.loadXML(xmlResult);
                      var msg=bbXML.selectSingleNode ("//NewDataSet");、//这是第一层节点
                      if(msg!=null)
                      {                  var msg1,msg2,msggroups,msgid,msgtime,msgmsg;
                         
                      do
                      {                                       msg1=bbXML.selectSingleNode("//MsgList")//第二层节点
                         msggroups=msg1.selectSingleNode ("//groups").text;//第三层节点
                         msgid=msg1.selectSingleNode ("//id").text;
                         msgtime=msg1.selectSingleNode ("//msgtime").text;
                         msgmsg=msg1.selectSingleNode ("//msg").text;
                         //这里添加对得到数据的处理!
                         msg.removeChild (msg.firstChild); 
                       }while(msg.selectSingleNode("//MsgList")!=null)
                      }
                    }
      

  4.   

    cyndi(下雨) 
    你的这编文章我也看过。
    可是做几来老是出错。能详细的说一下吗。
    var msg=bbXML.selectSingleNode ("//NewDataSet");、//这是第一层节点
    请问这个第一层的节点应该是指DataSet的名称吧。
    第二层是不是指里面的一个表的名称。
    第三层是一条记录吗?
      

  5.   

    <?xml version="1.0" encoding="utf-8" ?> 
    - <DataSet xmlns="http://tempuri.org/">
    - <xs:schema id="NewDataSet" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    - <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:Locale="zh-CN">
    - <xs:complexType>
    - <xs:choice maxOccurs="unbounded">
    - <xs:element name="MsgList">
    - <xs:complexType>
    - <xs:sequence>
      <xs:element name="id" type="xs:int" minOccurs="0" /> 
      <xs:element name="groups" type="xs:int" minOccurs="0" /> 
      <xs:element name="msgtime" type="xs:string" minOccurs="0" /> 
      <xs:element name="msg" type="xs:string" minOccurs="0" /> 
      </xs:sequence>
      </xs:complexType>
      </xs:element>
      </xs:choice>
      </xs:complexType>
      </xs:element>
      </xs:schema>
    - <diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
    - <NewDataSet xmlns="">
    - <MsgList diffgr:id="MsgList1" msdata:rowOrder="0">
      <id>6001</id> 
      <groups>0</groups> 
      <msgtime>2003-4-26 18:59:40</msgtime> 
      <msg>木</msg> 
      </MsgList>
    - <MsgList diffgr:id="MsgList2" msdata:rowOrder="1">
      <id>6001</id> 
      <groups>11</groups> 
      <msgtime>2003-4-26 19:01:27</msgtime> 
      <msg /> 
      </MsgList>
    - <MsgList diffgr:id="MsgList3" msdata:rowOrder="2">
      <id>6001</id> 
      <groups>0</groups> 
      <msgtime>2003-4-26 19:01:53</msgtime> 
      <msg> 235</msg> 
      </MsgList>
    - <MsgList diffgr:id="MsgList4" msdata:rowOrder="3">
      <id>6001</id> 
      <groups>0</groups> 
      <msgtime>2003-4-26 19:02:39</msgtime> 
      <msg>2134</msg> 
      </MsgList>
    - <MsgList diffgr:id="MsgList5" msdata:rowOrder="4">
      <id>6001</id> 
      <groups>0</groups> 
      <msgtime>2003-4-26 19:03:07</msgtime> 
      <msg>咦,这次怎么又好了呢?没有错一条啊!!</msg> 
      </MsgList>
    - <MsgList diffgr:id="MsgList6" msdata:rowOrder="6">
      <id>6001</id> 
      <groups>0</groups> 
      <msgtime>2003-4-26 19:04:07</msgtime> 
      <msg>收工!!没有一条出错!:!P</msg> 
      </MsgList>
      </NewDataSet>
      </diffgr:diffgram>
      </DataSet>这是服务器端xml文件的内容,以上的代码是我调试通过,相信你也一定可以!:P
    有问题再贴出来!!
      

  6.   

    在web service那边,我返回的是DataSet类型,其中只有一个表MsgList...
      

  7.   

    Ok,谢谢。
    还有一个问题请给个建议好吗。
    我返回的一个DataSet
    想在页面中每隔两秒钟就刷新一次。
    为了不有明显的闪烁,用什么方式把数据显示出来好呢?
      

  8.   

    呵呵,用setTimeout就可以了,因为javascript是客户端脚本,所以不会有页面闪烁,一点也不会有的,这个放心!:P