Ошибка использования для l oop с данными E js в Javascript - PullRequest
0 голосов
/ 18 февраля 2020

Я проверил другие вопросы, но ни один из них не имеет те же проблемы, что и у меня, и поэтому решения не применяются.

Вот пример кода, который я использую:

            <script>
              var dataLength = JSON.parse('<%- JSON.stringify(userData.length) %>');

           for (var i = 0; i < dataLength; i++){
            console.log(i);  //output = 0 
         console.log(JSON.stringify('<%- userData[i].latitude %>'));
          var latitude = JSON.parse('<%- userData[i].latitude %>');
          var longitude = JSON.parse('<%- userData[i].longitude %>');

          var co = new google.maps.LatLng(latitude, longitude);
         var marker = new google.maps.Marker({position: co, map: map});
         var image = 'assets/images/location.png';
         marker.setIcon (image);

           }

        }
      </script>

Это выдает ошибку: «я не определен». Может кто-нибудь объяснить, пожалуйста, что я делаю не так

1 Ответ

0 голосов
/ 18 февраля 2020

Ваш для l oop с i будет выполняться на стороне клиента, но не на стороне сервера. Следовательно, я не доступен, пока e js выполняется.

Я вижу, что вы пытаетесь перебрать userData, чтобы получить lat, lng. Почему бы вам не попробовать следующее?

<script>
  var userData = JSON.parse('<%- JSON.stringify(userData) %>');

  for(var user of userData){
    var latitude = JSON.parse('<%- user.latitude %>');
    var longitude = JSON.parse('<%- user.longitude %>');
    // handle latitude, longitude
  }

</script>
...