从ajax调用返回一个数组

时间:2014-09-26 20:04:10

标签: php jquery ajax

尝试从ajax调用获取2个值,似乎无法从调用中分解结果 ajax

 $.ajax({
              type:'POST',
              url: 'inc/getuser.php?q='+boxnum,
              success:function(data){

                alert(lname);

              }
            });

php

$datas = $database->select("Drivers", "*", [
        "id" => $q]);
        if (count($datas)>0) {
            foreach($datas as $data){
                $fname=$data['first_name'];
                $lname=$data['last_name'];
            }
            $rdata = array(
                'fname'=> $fname,
                'lname'=> $lname
                                );
            echo $rdata; //$datas['first_name'] 
        } else {
            echo 'no datas';
        }

尝试仅查找姓氏。 预先感谢 杰夫

3 个答案:

答案 0 :(得分:0)

您可以在PHP文件中使用json_encode()函数

      echo json_encode($rdata);

答案 1 :(得分:0)

使用PHP中的json_encode()来首先序列化您的数据,如Paramore所解释的那样。

在javascript中,您的成功函数回调的参数为" data"," lname"没有在该上下文中定义,因此要访问您需要执行的fname和lname:

data.lname data.fname

答案 2 :(得分:0)

更改为:

$.ajax({
   type:'POST',
   dataType: 'json', // <-- specify that your return type should be JSON
   url: 'inc/getuser.php?q='+boxnum,
   success:function(data){
      if (data.fname && data.lname) {
         var firstName = data.fname;
         var lastName  = data.lname;
      }
   }
});

使用数组时,您需要使用JSON数据类型。

您的PHP:echo json_encode($rdata);