Установка переменных AJAX в цикле с наборами элементов XML - PullRequest
0 голосов
/ 28 апреля 2011

Вы можете помочь? AJAX нуб!

Я пытаюсь выполнить функцию на разных наборах элементов XML. Мне нужно сделать запрос вернуть наборы, а затем перебрать каждый набор и выполнить функцию над ними.

Я пытаюсь определить переменные дочерними элементами цикла и затем передать их в функцию.

Какие-нибудь проблемы?

Мой JS

function loadXMLDoc()
{
var xmlhttp;
var txt,x,i;
var BC;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    xmlDoc=xmlhttp.responseXML;
    txt="";
    BC = xmlDoc.getElementsByTagName("BusinessCard");
//This is the bit i am unsure about?
    for (i=0;i<BC.length;i++)
      {
    var  name = BC[i].getElementsByTagName("NAME").childNodes[0].nodeValue;
    var  phone = BC[i].getElementsByTagName("PHONE").childNodes[0].nodeValue;
    var  email = BC[i].getElementsByTagName("EMAIL").childNodes[0].nodeValue;

      }
function(BC, name, phone, email){}

    }
  }
xmlhttp.open("GET","BC.xml",true);
xmlhttp.send();
}

Мой XML - это ...

<BusinessCard>
    <NAME>Joe Blog</NAME>
    <PHONE>5555656</PHONE>
    <EMAIL>Joe@email.com</EMAILS
</BusinessCard>

<BusinessCard>
    <NAME>Jonh Smith</NAME>
    <PHONE>6555656</PHONE>
    <EMAIL>Jonh@email.com</EMAILS
</BusinessCard> 

<BusinessCard>
    <NAME>Jurgen Voltermies</NAME>
    <PHONE>5325656</PHONE>
    <EMAIL>Voldermort@email.com</EMAILS
</BusinessCard> 

Любые мысли были бы очень полезны ??

1 Ответ

0 голосов
/ 28 апреля 2011

Используйте firstChild.nodeValue вместо childNodes[0]

Пример

var  name = BC[i].getElementsByTagName("NAME").firstChild.nodeValue;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...