jqueryajax使用soapweb服务
我一直在试验并试图学习JQuery,使用AJAX使用我不久前编写的SOAP web服务。下面是我正在使用的代码:jqueryajax使用soapweb服务,jquery,ajax,soap,Jquery,Ajax,Soap,我一直在试验并试图学习JQuery,使用AJAX使用我不久前编写的SOAP web服务。下面是我正在使用的代码: <script type="text/javascript"> var webServiceURL = 'http://local_server_name/baanws/dataservice.asmx?op=GetAllCategoryFamilies'; var soapMessage = '<soap12:Envelope xmlns:xsi=
<script type="text/javascript">
var webServiceURL = 'http://local_server_name/baanws/dataservice.asmx?op=GetAllCategoryFamilies';
var soapMessage = '<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"><soap12:Body><GetAllCategoryFamilies xmlns="http://tempuri.org/" /></soap12:Body></soap12:Envelope';
function CallService()
{
$.ajax({
url: webServiceURL,
type: "POST",
dataType: "xml",
data: soapMessage,
contentType: "text/xml; charset=\"utf-8\"",
success: OnSuccess,
error: OnError
});
return false;
}
function OnSuccess(data, status)
{
alert(data.d);
}
function OnError(request, status, error)
{
alert('error');
}
$(document).ready(function() {
jQuery.support.cors = true;
});
</script>
<form method="post" action="">
<div>
<input type="button" value="Call Web Service" onclick="CallService(); return false;" />
</div>
</form>
var-webServiceURL=http://local_server_name/baanws/dataservice.asmx?op=GetAllCategoryFamilies';
var soapMessage='尝试设置processData:false
标志。默认情况下,这个标志是true
,我猜jQuery是XML到字符串的转换
$.ajax({
url: webServiceURL,
type: "POST",
dataType: "xml",
data: soapMessage,
processData: false,
contentType: "text/xml; charset=\"utf-8\"",
success: OnSuccess,
error: OnError
});
作为补充说明,您的soapMessage变量缺少soap信封末尾的最后一个“>”
。@Kyle Crap,就是这样!哈哈。很高兴您能够修复它。这和我的soap消息末尾缺少的“>”修复了它。谢谢