【发布时间】:2021-01-14 10:25:46
【问题描述】:
我有下面的 xml 响应,我需要获取 Key 值,但没有成功。 尝试了很多变化,但它没有返回值
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<AuthenticateResponse xmlns="http://domain.something/JobServicesV2.asmx">
<AuthenticateResult>
<Result>0</Result>
<Key>fxcCiBSs2fsdfsDF$=</Key>
</AuthenticateResult>
</AuthenticateResponse>
</soap:Body>
</soap:Envelope>
我的 Javascript 代码是这样的:
function Auth() {
var vAnswer ={};
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var vDomain = "http://domain.something/JobServicesV2.asmx/"
var vAuth = "Authenticate?sUsrName=xxxxx&sUsrPwd=zzzzzzz"
var vURL = vDomain.concat(vAuth);
var data = {};
var xhr = Getxhr();
xhr.open("GET", vURL, false);
xhr.send(data);
var resp = xhr.responseText;
try {
xmlDoc.async = false;
xmlDoc.loadXML(resp);
var vData = xmlDoc.getElementsByTagName("Key")[0].childNodes;
return vData;
}
catch(e) {
X.WARNING("Error Message: " + e.message);
}
vData 始终为空
有什么想法吗?
提前致谢
艾迪
【问题讨论】:
-
避免使用同步请求。它将停止线程并阻止浏览器在您的请求加载时执行任何 JavaScript。您需要支持旧版浏览器吗?
标签: javascript xml getelementsbytagname