PHP ajax数据库:如何传递两个变量,并在不同的div甚至一个中获取它们的数据?

时间:2013-09-23 09:38:41

标签: php ajax

<script>
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>

这个脚本将一个变量发送到php代码并从数据库中获取数据并将其放在div标签中,我们如何发送两个变量并获取不同标签中的数据。?

4 个答案:

答案 0 :(得分:3)

发送2个变量传递2个参数,如:

xmlhttp.open("GET","getuser.php?q="+str+"&second_param="+some_other_value,true);

并在php中

$query = $_GET['q'];
$new_str = $_GET['second_param'];

在更简单的情况下,你可以这样做:在php中

echo $first_data."{{}}".$second_data;

你可以在js中做到:

var response_arr = xmlhttp.responseText;.split("{{}}"); //split by delimiter used in PHP
//and 
document.getElementById("txtHint").innerHTML = response_arr[0];
document.getElementById("txtHint_second").innerHTML = response_arr[1];

答案 1 :(得分:0)

您的代码中有xmlhttp.open("GET","getuser.php?q="+str,true);。您可以在该网址中传递变量:xmlhttp.open("GET","getuser.php?var1=" + var1 + "&var2=" + var2, true);

对于问题的第二部分,您可以解析xmlhttp.responseText,获取所需数据,并将其放入div document.getElementById("your_div_id").innerHTML = [your_data]中。{/ p>

我建议您在返回数据时使用XML或JSON,这样可以更轻松地解析数据并在div中使用它。

答案 2 :(得分:0)

PHP返回

[ { "id" : "1", "name" : "test1" },
  { "id" : "2", "name" : "test2" },
  { "id" : "3", "name" : "test3" },
  { "id" : "4", "name" : "test4" },
  { "id" : "5", "name" : "test5" } ]

Javascript

// We'll pass this variable to the PHP function example_ajax_request
    var fruit = 'Banana';
    var fruit1 = 'Banana';

    // This does the ajax request
    $.ajax({
        url: ajaxurl,
        data: {
            'action':'example_ajax_request',
            'fruit' : fruit,
            'fruit1' : fruit1
        },
        success:function(data) {
            $.each(data, function(id, item) {
                $("#dic"+id).html(data[id].item);
            });
        },
        error: function(errorThrown){
            alert(errorThrown);
        }
    });

答案 3 :(得分:0)

PHP代码和JSON:

$str = '{"div":{"id":"txtHint","innerHtml":"test test"},"span":{"id":"txtHint2","innerHtml":"safdsfsd"}}';

Javascript代码

xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {               
      alert(xmlhttp.responseText);  
    //document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
        var json = JSON.parse(xmlhttp.responseText);
        alert(json);    
    }
  }

如何发送多个两个变量:

xmlhttp.open("GET","test.php?q="+str+"&p="+str2,true);