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
Post a Comment