gpt4 book ai didi

jquery - 解析从 SOAP Jquery 插件返回的 XML

转载 作者:行者123 更新时间:2023-12-01 04:11:21 26 4
gpt4 key购买 nike

道歉。我知道此类问题已被问过多次并得到了解答。我真的花了一整天的时间来解决这个问题,但找不到任何解决方案。

我正在使用 Jquery SOAP API 提交 WSDL 请求并获取响应。我能够提交请求,也能够收到响应。

AJAX代码

$(document).ready(function() {
$('#btn_click').click(function(e) {
// stop the form to be submitted...
e.preventDefault();
var data = $('#txt_userid').val();
data = formUserNameReqXML(data);
$.soap({
url: 'service ws*l url',
method: 'getUserName',
data: data,
success: function(xml) {
$('#feedback').text(xml);
alert($(xml).find('username').text());
},
error: function(SOAPResponse) {
$('#feedback').text(SOAPResponse.toString());
}
});
});
});

返回的XML如下所示

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:localhost-jeema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:getUserNameResponse>
<username xsi:type="xsd:string">SUCCESS</username>
</ns1:getUserNameResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我想获取“用户名”标签内的值。如上面的 AJAX 代码所示,“反馈”元素加载了响应 XML 字符串(不带换行符),但警报消息显示为 null。为什么alert里面收到的值是空的?

有趣的是,当我尝试使用简单的 AJAX 时,相同的 XML 解析得非常完美,如下所示。

$(document).ready(function() {
$('#btn_click').click(function(e) {
$.ajax({
type: "POST",
url: "response.xml",
dataType: "xml",
success: function(xml) {
alert($(xml).find('username').text());
},
error:function() { alert('outside'); }
});
});
});

需要一些专家的建议。

最佳答案

终于成功解析了XML

success: function(xml) {
var xml = xml.toString();
alert($(xml).find('username').text());
}

解析发生在我将 xml 变量转换为字符串之后。

关于jquery - 解析从 SOAP Jquery 插件返回的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20023581/

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