У меня есть приложение Ajax, из которого я впоследствии создаю таблицу.Я получаю ответ, как и ожидалось, в полном объеме, который я вижу на вкладке Chrome Network, а также тестирую в SoapUI.
Однако, когда я создаю свою таблицу, она продолжает выдавать ошибку «Невозможно прочитать свойство childNodes of undefined»когда я ссылаюсь на 2 отдельных элемента, хотя я вижу ответ и значение для них на вкладке Сеть.
function myFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<tr><th>Product Type</th><th>Value(£)</th><th>Install Type(£)</th><th>ID</th></tr>";
var x = xmlDoc.getElementsByTagName("productInfo");
for (i = 0; i <x.length; i++) {
table += `<tr><td>
${x[i].getElementsByTagName("productName")[0].childNodes[0].nodeValue}
</td><td>
${x[i].getElementsByTagName("value")[0].childNodes[0].nodeValue}
</td><td>
${x[i].getElementsByTagName("name")[0].childNodes[0].nodeValue}
</td><td>
${x[i].getElementsByTagName("id")[0].childNodes[0].nodeValue}
</td></tr>`;
}
)
Когда я пытаюсь использовать данные из тега name, «value» или «name», яполучить сообщение об ошибке, но ни у одного из соседних узлов этой проблемы нет.
Кажется, я не могу понять, почему это происходит, поскольку они существуют и являются потомками исходного элемента productInfo