我们可以将xml文档返回给客户端应用程序,而不是将其保存在特定目的地

时间:2010-09-06 05:51:11

标签: c# javascript asp.net jquery

我有一个webservice webmethod,它将xml输出保存到目标

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
public XmlDocument GetList(
  string keyword1, string streetname, string lat, string lng, string radius)
{      
  XmlDocument xmlDoc = CreateXML( keyword1,streetname,lat,lng,radius);

  //save file to application folder which will be refferd by client application
  xmlDoc.Save(Server.MapPath("~/Block3.xml"));
  return xmldoc;       
}

我正在尝试使用searchurl中的以下代码从客户端引用

function searchLocationsNear() {
  var radius = document.getElementById('radiusSelect').value;             
  var searchUrl ="http://localhost:2385/block/Block3.xml"; //reference for xml file stored in application folder

  GDownloadUrl(searchUrl, function(data) {
    var xml = GXml.parse(data);

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

以下是如何使用jQuery从客户端调用服务器端WebMethod的简单示例。此代码假定您在searchLocationNear(...)

中托管了WebService1.asmx方法
  function searchLocationNear() {
    // Get the radius using jQuery
    var radius = $("#radiusSelect").val();

    // Make Ajax call using jQuery
    $.ajax({
      type: "POST",
      data: "keyword1=&streetname=&lat=&lng=&radius=" + radius,
      url: "WebService1.asmx/GetList",
      success: function (response) {
        var xml = GXml.parse(response.xml);
      },
      error: function (response) {
        alert(response.responseText);
      }
    });
  }

此处$.ajax用于调用GetList Web方法,并从响应中提取XML。如果您在服务器端返回XmlDocument,则可以查找。