【发布时间】:2016-10-07 00:19:59
【问题描述】:
我有问题。
我正在调用一个 Web 服务,它给了我一个 XML 响应,所以我使用了 XMLHttpRequest。 现在我想访问存储在一个节点中的一个值。
这是我的代码:
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4) {
if (xmlhttp.status == 200) {
console.log("response : " + xmlhttp.responseXML.getElementsbyTagName("return")[0].childNodes[0].nodeValue);
...
我确定 return 节点存在并且它包含某些内容,因为我的 XML 响应必须如下所示:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:carreNombreResponse xmlns:ns2="http://mathsutility.test.com/">
<return>16.0</return>
</ns2:carreNombreResponse>
</soap:Body>
</soap:Envelope>
但问题是当我的程序执行console.log 行时,它返回一个错误:
TypeError: xml.getElementsbyTagName is not a function
at XMLHttpRequest.xmlhttp.onreadystatechange...
我已经提到我正在使用 Typescript 和 Angular 2(但通常它不应该改变基本的 js 功能)。
有解决问题的办法吗?
【问题讨论】:
-
By也需要大写。 -
您检查过 xmlhttp.responseXML 吗?如果请求中的标头没有正确设置,那么这将为空。
-
@NiettheDarkAbsol 天哪,原来是这样。我有点累了:)谢谢!
标签: javascript angular xmlhttprequest