EndPoint :http://shanghai.cinon.com/ws/info.asmx
我想用JS调用显示出文章标题 时间 和URL
怎么实现?我胡乱写了一个,但只能返回第一条的标题,请高手看看
<script type='text/javascript'> 
/// <summary>
/// 获取新闻
/// </summary>
/// <param name="infoType">新闻类别:1房产要闻;2房产博客;3佳来百宝箱</param>
/// <param name="infoCount">新闻条数,1-50条内</param>
/// <returns>title:新闻标题;infodate:发布日期;URL:新闻链接</returns>
/// [WebMethod]
/// public System.Data.DataTable GetLatestInfo(int infoType, int infoCount)function getWebService(url,infoType,valueType) 

var xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); 
xmlHttp.open('POST',url,false); 
xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
xmlHttp.send(infoType); //WebService方法参数,如:id=1&type=2
//var Result=unescape(xmlHttp.responseText) ;//这是返回XML文本 
var Result=xmlHttp.responseXML.selectSingleNode('//'+valueType).text;//这是返回XML中的节点内容 
return(Result); 

//以下是调用部方法 
document.write(getWebService('http://shanghai.cinon.com/ws/info.asmx/GetLatestInfo','infoType=1&infoCount=10','title')); //显示在需要的位置 
</script> 

解决方案 »

  1.   

    操作XML 好好改改代码var Result=xmlHttp.responseXML.selectSingleNode('//'+valueType).text;//这是返回XML中的节点内容 这部分再解析下
      

  2.   

    http://www.codeproject.com/KB/webservices/Using_SOAP_Client.aspx这里 包你满意!
      

  3.   

    如果返回的是个XML集合或者JSON集合的话,
    需要解析,
    然后再加载到页面上.
      

  4.   

    你的ws里返回的是一个DataSet,你这样当然是不可以的了
      

  5.   

    我点Download soapclient2 - 10.02 KB 提示“You must logon to download zip files”要登陆进去才能下,还要注册哪位高人帮忙写下代码吧:(
      

  6.   

    我觉得是你的getWebService()方法的问题!你不妨帖出来看看!
      

  7.   


    你下的代码里不是有demo的代码吗?看下就好了啊。你上来就去看那个js文件,你太牛B 了
      

  8.   

    可能是获取XML单个值时出错嘛,好象不这样获取的,xmlHttp.responseXML.getElementsByTagName("XML输出的标签名称")[0].firstChild.data;用这个来分别试试,
      

  9.   

    xpath改一下,就可以了
    <script type='text/javascript'> function getWebService(url,infoType,xpath) 
    {     var xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); 
        xmlHttp.open('POST',url,false); 
        xmlHttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        xmlHttp.send(infoType); 
        var tbls=xmlHttp.responseXML.selectNodes(xpath);
        var data = [];
        for(var i=0;i<tbls.length;i++)
        {
            var dataObj = {};
            dataObj.title = tbls[i].getElementsByTagName("title")[0].firstChild.nodeValue;
            dataObj.date = tbls[i].getElementsByTagName("infodate")[0].firstChild.nodeValue;
            dataObj.url = tbls[i].getElementsByTagName("URL")[0].firstChild.nodeValue;
            data.push(dataObj);
        }
        return data;

    //以下是调用部方法 
    var data = getWebService('http://shanghai.cinon.com/ws/info.asmx/GetLatestInfo','infoType=1&infoCount=20','//NewDataSet/Table');
    for(var i=0;i<data.length;i++)
    {
        document.write("<a href='"+data[i].url+"'>"+data[i].title+"["+data[i].date+"]<br>");
        
    }
    </script> 
      

  10.   

    不过这个webservice给出的链接地址似乎有问题
      

  11.   

    http://www.cnblogs.com/sixiweb/archive/2009/02/07/1385788.html
      

  12.   

    可以看看微软asp.net ajax的官方网站的demo:http://www.asp.net/AJAX/AjaxControlToolkit/Samples/DynamicPopulate/DynamicPopulate.aspx
      

  13.   

    看看它的demo页面上的视频教程。