PHP从AJAX获得价值

时间:2012-03-16 02:59:31

标签: php ajax

我在下面有一个ajax实现,它工作正常。现在,我如何在toDistance.php中获得距离和id?我将代码粘贴在下面,并没有将数据添加到我的数据库中。有什么问题?

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');
   }
});
}

以下是我的toDistance.php

<?php
    $distance=array();
    $volunteerid=array();
    if(empty($_GET)){

    }
    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 个答案:

答案 0 :(得分:4)

您是在POST请求中发送数据,并尝试从$ _GET而不是$ _POST

中获取PHP中的数据

另一件事:

$ distance.length不是php 你需要使用

count($distance) 

例如:

for ($i=0, $n=count($distance); $i<$n; $i++) { ... }
// instead of running the count() function on every iteration