当字符串为$时,将$ .get中的值赋值给Array

时间:2018-05-18 15:37:52

标签: javascript jquery web

这是我的第一个问题所以请耐心等待。我正在编写一个网络应用程序的代码,该应用程序使用$ .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>

0 个答案:

没有答案