gpt4 book ai didi

JQuery AJAX 使用 SOAP Web 服务

转载 作者:行者123 更新时间:2023-12-03 22:13:43 25 4
gpt4 key购买 nike

我一直在尝试学习 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="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>

目前,在 Web 服务中调用的方法会返回一个类别系列数组,其中包含类别代码和类别描述。由于该方法返回 XML,因此我相应地设置了 ajax 查询。但是,当我运行该应用程序时,我收到一个“错误”警报框 - 我确定是什么导致了问题。我知道该 Web 服务可以正常工作,我编写的其他 .NET Web 应用程序每天都会调用该服务数百次。

任何帮助将不胜感激。

谢谢

最佳答案

尝试设置processData: false标志。默认情况下,此标志为 true,我猜 jQuery 是 converting您的 XML 字符串。

$.ajax({
url: webServiceURL,
type: "POST",
dataType: "xml",
data: soapMessage,
processData: false,
contentType: "text/xml; charset=\"utf-8\"",
success: OnSuccess,
error: OnError
});

关于JQuery AJAX 使用 SOAP Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7013111/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com