我有以下代码尝试将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;
}
答案 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 + "'"}