javascript - Why this 'undefined' -


i have array in php called $jsonrankings. it's indexed array, each element contains utf8 encoded html.

i load array array has other data in it:

$sumarray['rankings'] = $jsonrankings; 

i have done print_r of array , verified contains data need, index starting @ 0.

my php file's output this:

echo json_encode($sumarray); 

here's javascript:

function getscores(){  var xmlhttp; var jsontext; var rowdata; var rowtext; if (window.xmlhttprequest) { // code ie7+, firefox, chrome, opera, safari     xmlhttp = new xmlhttprequest();  } else { // code ie6, ie5     xmlhttp = new activexobject("microsoft.xmlhttp"); } xmlhttp.onreadystatechange = function()  {     if (xmlhttp.readystate == 4 && xmlhttp.status == 200)      {         jsontext = xmlhttp.responsetext;         var parsedjson = $.parsejson(jsontext);          rowdata = parsedjson.rankings;         for(var index in rowdata)         {             rowtext += rowdata[index];         }         document.getelementbyid('rows').innerhtml = rowtext;         document.getelementbyid('sessionname').innerhtml = parsedjson.sessionname;         document.getelementbyid('elapsedtime').innerhtml = "elapsed time: " + parsedjson.elapsedtime;         document.getelementbyid('remainingtime').innerhtml = "remaining time: " + parsedjson.remainingtime;         document.getelementbyid('lapscompleted').innerhtml = "laps completed: " + parsedjson.lapscompleted;         document.getelementbyid('flag').innerhtml = "flag: " + parsedjson.flag;         document.getelementbyid('tickermessage').innerhtml = parsedjson.tickermessage;      } } xmlhttp.open("get", "scoreboard.php?json=1", true); xmlhttp.send();       settimeout(getscores, 1000); }  getscores(); 

basically script runs once every second , updates bunch of values on page, including changing content of (table body) tag, inserting whatever rows need there.

this works except table body has "undefined" first line. don't why.

break down problem:

var rowtext;         //undefined rowtext += "hello";  //undefined + "hello"; console.log(rowtext);   //"undefined hello" 

if set empty string, undefined issue go away

var rowtext = ""; 

Comments

Popular posts from this blog

apache - Remove .php and add trailing slash in url using htaccess not loading css -

javascript - jQuery show full size image on click -