2012-03-16 3 views
1

У меня была функция, ниже которой хранится расстояние от двух мест, используя карты google api. эти результаты хранятся в файле добровольца и существует определенный массив смещения. Document.write в строке 5 отображает содержимое каждого элемента массива. Теперь, когда я предупреждаю Object.prototype ... от волонтераDist, говорит объект Array. Но когда я вызывал $ .ajax и передавал волонтерDist в данные и предупреждал его (как показано ниже), он возвращает undefined и success (то есть данные хранятся, но содержимое не определено). Любая помощь? БлагодаряНеопределенное значение в AJAX

function getABC(){ 
for(s=0;s<length;s++){ 
    volunteerlocation = new GLatLng(jlat[s], jlng[s]); 
    volunteerDist[s] = (Math.round((eventlocation.distanceFrom(volunteerlocation)/1000)*10)/10); 
    document.write(volunteerDist[s] + '<br> '); 
    document.write(jid[s] + '<br> '); 
} 

alert(Object.prototype.toString.call(volunteerDist)); 

$.ajax({ 
    type:'POST', 
    url: 'toDistance.php', 
    data : ({ 
     distance:volunteerDist, 
     id:jid 
    }), 
    success: function(data){ 
     alert(data); 
     alert('worked'); 
    }, 
    error :function(jqXHR, textStatus, errorThrown) { 
     alert(errorThrown); 
    }, 
    complete : function(){ 
     alert('thanks'); 
    } 
}); 
} 

Update:

Ниже мой toDistance.php

<?php 
    $distance=array(); 
    $volunteerid=array(); 
    if(empty($_GET)){ 
     echo "Hello"; 
    } 
    else{ 

     $distance = isset($_GET['distance']) ? $_GET['distance'] : 0; 
     $volunteerid = isset($_GET['id']) ? $_GET['id'] : 0; 
     $connect = mysql_connect("localhost","root",""); 
     mysql_select_db("mapping"); 


     for($i=0;$i<$distance.length;$i++){ 
      $updateDistance = mysql_query(" 
      UPDATE volunteerbio 
      SET volunteerDistance = $distance[$i] 
      WHERE volunteerID = $volunteerid[$i]; 
      "); 
     } 
    } 
?> 

ответ

1

Это теперь те же переменные данные! Это в другом объеме.

data в функции успеха - это то, что сервер вернул. Дайте ему другое имя, если оно смущает вас.

$.ajax({ 
    type:'POST', 
    url: 'toDistance.php', 
    data : ({ 
     distance:volunteerDist, 
     id:jid 
    }), 
    success: function(result){ // Data sent from the server. not the data above! 
     alert(result); 
     alert('worked'); 
    }, 
    error :function(jqXHR, textStatus, errorThrown) { 
     alert(errorThrown); 
    }, 
    complete : function(){ 
     alert('thanks'); 
    } 
}); 
+0

он вернул пустое предупреждение .. что не так? –

+0

@BrandonYoung. Я понятия не имею, Нет ничего плохого в этом скрипте. Возможно, вам понадобится открыть новый вопрос-поток с кодом сервера. ** Этот скрипт в порядке! ** – gdoron

+0

Я отредактировал мой вопрос и добавил toDistance.php, я заметил, что то, что я повторил в строке 5 ofDistance.php, это то, что предупреждается о «результате» .. так что этот случай, привет с предупреждением –