1,需要在服务下面把代码的注释去掉
// 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
//[System.Web.Script.Services.ScriptService]
2,JS 调用方法如下
var request = '<?xml version="1.0" encoding="utf-8"?>';
request += '<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">'
request += '<soap12:Body>'
request += '<UpdateFacultativere xmlns="http://tempuri.org/">'
request += ' <facNum>12313</facNum>'
request += ' <facVerstion>2</facVerstion>'
request += ' <date>string</date>'
request += ' <description>string</description>'
request += ' </UpdateFacultativere>'
request += '</soap12:Body>'
request += '</soap12:Envelope>'
var req = new XMLHttpRequest();
req.open("POST", 'http://localhost:34869/CRMService.asmx', true)
// Responses will return XML. It isn't possible to return JSON.
//req.setRequestHeader("Accept", "application/xml, text/xml, */*");
req.setRequestHeader("Content-Type", "application/soap+xml; charset=utf-8");
req.setRequestHeader("Content-Length:", request.length);
req.setRequestHeader("SOAPAction", "http://tempuri.org/UpdateFacultativere");
req.onreadystatechange = function () { DoR(req, successCallback, errorCallback); };
req.send(request);
3,Jquery调用方法如下
$.ajax({ url: 'http://localhost:34869/CRMService.asmx/UpdateFacultativere', data: {facNum :'02020',facVerstion:10, date:'10292', description:'2222'}, dataType: "xml", type: "POST", success: function (xml) { debugger alert(xml); }, error: function (xml, status) { debugger } } );