我正在尝试使用HTTP请求和JSON编码将数组从PHP传递到Javascript。但是,我不断收到此错误消息:(Uncaught TypeError: Cannot read property '132620' of undefined
我尝试在阵列上拨打号码132620。
这是我的PHP代码。
<?php
$myArray = array("num1","num2","num3",....);
$myJSON = json_encode($myArray);
echo $myJSON;
?>
这是我的JavaScript代码的开头:
var getarray;
var xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
getarray=JSON.parse(this.responseText);
console.log(typeof getarray); //for debugging
}
}
xmlhttp.open("GET","arrayhandling.php",true);
xmlhttp.send();
//and then later I call:
document.getElementById["h2"].innerHTML= getarray[1132620];
//and that's where I get the error.
我不知道怎么了。我想念什么吗?这是我在尝试找出错误时发现的一些信息,可能会有所帮助:
document.getElementById["h2"].innerHTML= getarray;
并且似乎正在将数组输入到我的HTML中。在HTML中,标题显示了数组。在被截断之前,它显示num1,num2,num3,...不带引号或括号由于长期困扰我,我将不胜感激。谢谢你。
顺便说一句,我以本教程为指导。https://www.w3schools.com/js/js_json_php.asp
问题是您使用的不是同步请求。
document.getelement .....部分不等待请求的答案。因此,您必须将其放入请求的回调函数中
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句