2012-03-14 4 views
3

Мне нужно получить расстояние между двумя точками от JavaScript до PHP с помощью Google Maps. Ниже приведена моя функция, чтобы получить расстояние и не создавать никаких проблем. Теперь, как я могу отправить массивы (то есть волонтерDist и tvid) в другой php-файл (т. Е. DistanceToDb.php), и какой код моего distanceToDb.php должен быть для получения этих данных? Благодаря! Фактические коды высоко оценены.Передача двух JavaScript-массивов в PHP

<?php 
    function getFDistance(lat, lng, vlat, vlng, vid) { 
     var eventlocation = new GLatLng(lat, lng); 
     var volunteerDist = new Array(); 
     var tvid   = new Array(); 
     var volunteerlocation; 

     for(i=0;i<lat.length;i++) { 
      tvid[i] = vid[i]; 
      volunteerlocation = new GLatLng(vlat[i], vlng[i]); 
      volunteerDist[i] = (Math.round((eventlocation.distanceFrom(volunteerlocation)/1000)*10)/10); 
     } 
     $.ajax({ 
      type: 'POST', 
      url: "distanceToDb.php", 
      data: {tvid: tvid, volunteerDist: volunteerDist}, 
      success: function(data){ 
       alert("Successful"); 
      }, 
      dataType: "json" 
     }); 
    } 
?> 
+0

что-то мне пристанет там ... у вас есть JS код внутри PHP теги? – SirDarius

ответ

1

Я прошел массивы и объекты, используя JSON в JavaScript, скажем, через jquery.post вызова:

$.ajax({ 
    type: 'POST', 
    url: "distanceToDb.php", 
    data: {tvid: tvid, volunteerDist: volunteerDist}, 
    success: successfunction, 
    dataType: "json" 

});

Затем в файле PHP вы просто сделать это:

$js_data_arr = json_decode($_POST['data']); 
+0

в моем коде, какую конкретную строку я должен добавить? мне все еще нужно location.href? –

+0

Нет, на самом деле вместо строки location.href вы вызываете jquery.post (извините за то, что вы используете jQuery). – Overkillica

+0

Я обновил свой ответ, так что это яснее. Дайте мне знать, если у вас есть какие-либо проблемы. – Overkillica

Смежные вопросы