Невозможно прочитать свойство 'childNodes' undefined - для узлов, но узлы-братья не дают ошибок - PullRequest
0 голосов
/ 12 декабря 2018

У меня есть приложение 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...