这是我的第一个问题所以请耐心等待。我正在编写一个网络应用程序的代码,该应用程序使用$ .get获取另一个网页的内容,然后将其分配给一个数组。返回的网页内容是典型的JS数组(以下是字面上$ .get的返回):
[{"id":2476,"name":"XXXX","start_date":"2018-06-06 00:00:00","end_date":"2018-06-06 23:59:59","current_attendees":2442}]
问题在于它似乎将它指定为一个字符串(一个警告显示整个字符串就像上面那个),后来的 events.length 表示它是未定义的。最重要的是,我如何让Javascript识别它是一个数组或不是一个字符串?谢谢。 代码:
<script>
function upcomingevents(){
var events, id, place, date;
id = <?php if($spotlightevent != null ){echo $spotlightevent;}else{echo 0;} ?>;
maineventplace = 0;
$.get("THERE IS A LINK HERE", function(data){
events=data;
alert(events);
}, "HTML");
if( id != null){
for(i = 0; i = events.length; i++){ //Throws "Can't get length of undefined"
if(events[i]["id"] == id){
$("#maineventtitle").text(events[i]["name"]);
$("#maineventcount").text("Inscritos: " + events[i]["current_attendees"]);
$("#maineventsponsor").text("Valor Patrocínios: " + <?php echo $spotlighteventsponsor; ?> + "€" );
maineventplace = i;
}
}
}
for(i = 0; i = events.length; i++){
if(events[i]["id"] != id && i != maineventplace){
$("#secondeventtitle").text(events[i]["name"]);
$("#secondneventcount").text("Inscritos: " + events[i]["current_attendees"]);
}
}
}
setInterval(upcomingevents(), 30000);
</script>