在ajax中返回多个数据

时间:2013-01-30 06:11:12

标签: php jquery ajax

我正在开发一个像facebook这样的社交网站。我在一个名为showdetails.php的页面中有一个搜索栏,它应该在dropdown list like div which can be clicked for selection中显示用户的名称(在数据库中),因为用户在搜索框中键入字母。我已经这样做了使用ajax。当我单击下拉列表中的特定用户名时,它会自动进入搜索框。我的问题是还有另一个div需要显示用户点击的所选用户的详细信息。我搜索了一个我不知道从ajax调用中返回两个不同的值,因为在我的知识var response = xmlhttp.responseText;中,变量响应只能存储一个结果。

我的searchvalues.php,其中包含搜索用户名的代码

       $hint = "<table>";
       while($row = mysql_fetch_array($result_query_get_following))
     {
         $act_fname = $row['acnt_fname'];
         $act_lname = $row['acnt_lname'];
         $act_name = $act_fname . ' ' . $act_lname;
         $hint.= "<tr onClick='showVal(\"".$act_name."\");'><td >".$act_name."</td></tr>";
         $following_id = $row['flwing_following_user_id'];
         $following_member_class = $row['acnt_member_class'];
         $following_profile_picture = $row['acnt_profile_picture'];
    }
     $hint .= "</table>";
}
  if ($hint == "")
  {
$response="no suggestion";
   }
 else
 {
$response=$hint;
 }

//output the response
echo $response;

我的javascript函数在showdetails.php中

   function showVal(val)
{
    document.getElementById("quicksearch").value=val;
    document.getElementById("search").style.display="none";
}

3 个答案:

答案 0 :(得分:6)

//服务器端:

$return_data['status'] = '0';

$return_data['msg'] = 'Your message.'; 

echo json_encode($return_data);exit;

//客户端

$.ajax({
    dataType: "json",
    type: "POST",
    url: 'Your url',
    data: ({parm1:value1,...}),
    success: function (data, textStatus){
        $("#div1").html(data.msg);
        $("#input1").val(data.status);
    }
});

答案 1 :(得分:0)

根据我的知识,从函数返回两个元素是不可能的。你可以做的是创建一个元素数组并返回该特定数组。

EG:鉴于这是PHP,因为您没有提供任何代码

function getXYZ()
{
    return array(1,2,3);
}

list($x,$y,$z) = getXYZ();

否则

您可以尝试JSON返回数据。

Basic example of using .ajax() with JSONP?

http://www.jquery4u.com/json/ajaxjquery-getjson-simple/

答案 2 :(得分:0)

<div id="user_detail"></div>

    <script>
    $("#clicked_user").click(function(){
        var q =  document.getElementById('clicked_user').value;
        var loadUrl = "getuserinformation.php?query=q";
        $.post
        (
          loadUrl,{language: "php", version: 5},function(responseText){$("#user_detail").html(responseText);},"html"
        );
    })
    </script>
getuserinformation.php 中的

通过$ _get获取查询参数,在此处查询并回显您希望在div中显示的信息