【问题标题】:Problem with posting xml data to .net webservice asmx将xml数据发布到.net webservice asmx的问题
【发布时间】:2010-09-03 05:01:51
【问题描述】:

我有以下代码试图将 xml 构造的数据发布到 webservice .asmx 但是xml构造的数据根本没有到达webservice文件。当我进行ajax调用控制时根本没有移动到webservice文件。ajax语法有什么问题吗? 这是我在客户端的代码。

$.ajax({
                type: "POST",
                async: false, 
                url: "/blkseek2/JsonWebService.asmx/GetList",
                datatype:"xml",
                data:"<?xml version='1.0'?><keyword1>"+keyword1+ "</keyword1><streetname>"+address1+ "</streetname><lat>"+lat+"</lat><lng>"+lng+ "</lng><radius>"+radius+"</radius>" ,
                contentType: "application/xml; charset=utf-8",
              //  processData: false,
                failure: function(XMLHttpRequest, textStatus, errorThrown) 
                     { ajaxError(XMLHttpRequest,textStatus, errorThrown); },
                success: function(xml) 
                 { ajaxFinish(xml); }



            });

这是我在 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);


    return xmldoc;

}

【问题讨论】:

    标签: c# asp.net xml jquery


    【解决方案1】:

    您的 ajax 调用不应采用 XML 格式。

    将您的数据更改为以下内容:

    data:{ "keyword1:'" + keyword1 + "',streetname:'" + address1 + "',lat:" + lat + ",lng:" + lng + ",radius:" + radius}
    

    编辑:我刚刚注意到您的 lat、lng 和 radius 是字符串(为什么?)。无论如何,正因为如此,试试这个:

    data:{ "keyword1:'" + keyword1 + "',streetname:'" + address1 + "',lat:'" + lat + "',lng:'" + lng + "',radius:'" + radius + "'"}
    

    【讨论】:

    • 我不会说“不应该”。我同意这很奇怪 - 但将 xml 发布到 Web 服务是完全可以接受的。
    • 我还没有看到一个成功的 Jquery ajax 调用,它通过以 XML 格式发布参数来工作。主要是因为 Jquery API 将“数据”参数转换为查询字符串。您可以在参数中发送 XML。
    • 感谢您的回复,如果他们有任何试图将一些数据发布到 Web 服务并以 xml 文件形式返回回复的好文章,请向我推荐。
    • @mahesh 尝试将数据类型更改为数据类型(注意大写 T)?如果您需要解析 XML,也可以试试这个:think2loud.com/reading-xml-with-jquery
    猜你喜欢
    • 2011-04-07
    • 1970-01-01
    • 2020-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    相关资源
    最近更新 更多