javascript json Uncaught SyntaxError:意外的数字

时间:2017-10-26 00:57:43

标签: javascript php json ajax

这是我的功能:

var myVar = setInterval(myTimer, 500);
function myTimer() 
{
    xhttp=new XMLHttpRequest();
    xhttp.onreadystatechange = function() 
    {
        if (this.readyState == 4 && this.status == 200) 
        {
            x=this.responseText;
            window.alert("x,jsondata="+x);
            var jsondata = JSON.parse(x);
            document.getElementById("1").innerHTML = jsondata[0].1;
            document.getElementById("2").innerHTML = jsondata[0].2;
            document.getElementById("3").innerHTML = jsondata[0].3;
            document.getElementById("4").innerHTML = jsondata[0].4;
            document.getElementById("5").innerHTML = jsondata[0].5;
            document.getElementById("6").innerHTML = jsondata[0].6;
            document.getElementById("7").innerHTML = jsondata[0].7;
            document.getElementById("8").innerHTML = jsondata[0].8;
            document.getElementById("9").innerHTML = jsondata[0].9;
        }
    }
    xhttp.open("GET", "getData.php?q="+<?php echo $fileToAccess;?>, true);
    xhttp.send();
}

这是getData.php:

<?php
    $file=$_REQUEST['q'];
    $myfile=file_get_contents($file);
    $json=json_decode($myfile);
    echo $json[1];
?>

这就是我的json文件的样子:

[{"str": "user2"},{"1": "","2": "","3": "","4": "","5": "","6": "","7": "","8": "","9": ""}]

我添加了一个计时器,以便在json文件的帮助下不断更新我的按钮值。但我在第

行收到错误

document.getElementById(“1”)。innerHTML = jsondata [0] .1;

1 个答案:

答案 0 :(得分:1)

你正在做的事情非常正确。但由于密钥是数字,因此您必须使用['1']来获取密钥。像这样:

document.getElementById("1").innerHTML = jsondata[0]['1'];

在Javascript中,主要有两种从对象获取属性的方法

obj.prop

obj['prop']

通常,您可以说obj.prop仅在属性为有效变量名称时才起作用(不包含特殊字符,数字等)。