Jquery使用umbraco Web服务数据

时间:2014-06-10 09:47:47

标签: c# jquery asp.net web-services umbraco

我在umbraco中有一个web服务,它似乎没有被我的Jquery解析,当我运行代码时,我确实得到了警告框,但它只是有消息" undefined"重复,我期待标题,请看下面的代码。

    [WebMethod]
    public List<NewsItem> GetNewsItems()
    {
        List<NewsItem> returnValue = new List<NewsItem>();

        foreach (umbraco.presentation.nodeFactory.Node item in new umbraco.presentation.nodeFactory.Node(190078).Children)
            returnValue.Add(new NewsItem() { Header = item.Name, path = item.Url, Id = item.Id });

        return returnValue;
    }

...

public class NewsItem
{
    public string Header { get; set; }
    public string path { get; set; }
    public int Id { get; set; }
}

当我浏览它时它很好。定义如下: -

<?xml version="1.0" encoding="utf-8"?>
<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/">
 <soap:Body>
<GetNewsItemsResponse xmlns="http://countryumbraco/">
  <GetNewsItemsResult>
    <NewsItem>
      <Header>string</Header>
      <path>string</path>
      <Id>int</Id>
    </NewsItem>

到目前为止,我的Jquery使用web服务如下: -

var webServiceURL = 'http://mydomain.com/umbraco/webservices/latestnews.asmx/GetNewsItems';

function CallService()
{
    $.ajax({

       type: "POST",
   url: webServiceURL, 
       dataType: "xml", 
   processData: false,
       success: OnSuccess, 
       error: OnError
    });

    return false;
}

function OnSuccess(xml)
{
   $(xml).find("NewsItem").each(function()
   {
    alert($(this).attr("Header"));
     });
}



function OnError(request, status, error)
{
    alert('Error');
}

$(document).ready(function() {
    jQuery.support.cors = true;
});

我在这里做错了什么想法?

1 个答案:

答案 0 :(得分:1)

$(xml).find('NewsItem').each(function(){ 
var header= $(this).find('Header').text();alert(header); 

}