将xml数据发布到.net webservice asmx时出现问题

时间:2010-09-03 05:01:52

标签: c# asp.net xml jquery

我有以下代码尝试将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;

}

1 个答案:

答案 0 :(得分: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 + "'"}