如何将在Web服务上构造的xml数据文档返回给客户端ajax jquery调用

时间:2010-09-07 12:03:11

标签: c# asp.net jquery html xml

我有一个webmethod,它试图构建xml数据文档并返回到客户端 但我无法猜测错误是在客户端调用还是webservice返回方法上。任何人都可以帮助解决这个逻辑

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XmlDataDocument GetList(string keyword1, string streetname, string lat, string lng, string radius)
{
  XmlDataDocument xmlDoc=  CreateXML( keyword1,streetname,lat,lng,radius);
    //save file to application folder which will be refferd by client application
  xmlDoc.Save(@"D:\blockseek7-9-2010\Block3.xml");
   //xmlDoc.LoadXml(
  return xmlDoc;
}

这是我在客户端的电话

var keyword2 = "{\"keyword1\":\"" + keyword1 + "\",\"streetname\":\"" + address1 + "\",\"lat\":\"" + lat + "\",\"lng\":\"" + lng + "\",\"radius\":\"" + radius + "\"}";
                $.ajax({
                    type: "POST",
                    async: false,
                    url: "http://localhost:2330/blockseek7-9-2010/JsonWebService.asmx/GetList",
                    data: keyword2,
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    failure: ajaxCallFailed,
                    success: ajaxCallSucceed

                });
            });

这是ajaxCallSucceed

的功能
function ajaxCallSucceed(response) {
            //alert("hi");
            GDownloadUrl(response.xml, function(data) {
                var xml = GXml.parse(response.xml);
                var markers = xml.documentElement.getElementsByTagName('marker');
                map.clearOverlays();

                var sidebar = document.getElementById('sidebar');
                sidebar.innerHTML = '';
                alert(markers.length);

.......... ............ .......................... ..................................

1 个答案:

答案 0 :(得分:1)

使用FireFox的Fiddler或FireBug插件等工具 - 这将允许您检查每个请求/响应。通过查看对您的Web服务调用的响应,您将知道返回的xml。这将帮助您确定问题是在服务器端还是在客户端。