3
<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

4 回答 4

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];
于 2013-09-23T09:45:18.860 回答
0

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

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

我建议您在返回数据时使用 XML 或 JSON,这样会更容易解析数据并在您div的 s.

于 2013-09-23T09:45:21.923 回答
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);
        }
    });
于 2013-09-23T09:52:18.850 回答
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);
于 2013-09-23T09:59:49.880 回答