如何使用 ajax 将变量发送到 php


How to send variable to php with ajax?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <script type="text/javascript">
    function load(thediv, thefile)
    {
        if (window.XMLHttpRequest)
        {
        xmlhttp = new XMLHttpRequest(); 
        }
            else
            {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP)');  
            }
                xmlhttp.onreadystatechange = function()
                {
                    if (xmlhttp.readyState==4 && xmlhttp.status==200)
                    {
                    document.getElementById(thediv) .innerHTML = xmlhttp.responseText;  
                    }
                }
                xmlhttp.open('GET', thefile, true);
                xmlhttp.send();
    }
    </script>
</head>
    <body>
<?php 
//connection to db and mysql query

    $result = mysql_query($query) or die(mysql_error());
$options=""; 
while ($row=mysql_fetch_array($result)) { 
$id=$row["idProducts"]; 
$thing=$row["country"]; 
$options.="<OPTION VALUE='"$id'">".$thing.'</option>'; 
}
mysql_close();
?> 

<SELECT id="countrySearch" NAME=countrySearch onchange="load('divtest',   'step2.search.php')";>
<OPTION VALUE=0>Choose 
<?=$options?> 
</SELECT> 
<div id="divtest">
test
</div>
</body>

Step2.search.php包括:

<?php
echo "I want it to store the users selection as a variable for php to use";
?>

我遇到的问题是我想存储用户从下拉框中选择的内容,并在 php 中使用它来执行 mysql 查询,使用用户选择表单中的变量来形成 mysql 语句的 WHERE 部分。然后使用 ajax 将新数据放入 "divtest" 中。

如何将用户选择存储到变量中,然后将其发送到step2.search.php中使用?

See Code Below

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
    <script type="text/javascript">
    function load(thediv, thefile,selectvalue)
    {
        if (window.XMLHttpRequest)
        {
        xmlhttp = new XMLHttpRequest(); 
        }
            else
            {
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP)');  
            }
                xmlhttp.onreadystatechange = function()
                {
                    if (xmlhttp.readyState==4 && xmlhttp.status==200)
                    {
                    document.getElementById(thediv) .innerHTML = xmlhttp.responseText;  
                    }
                }

                xmlhttp.open("GET",thefile+"?q="+selectvalue,true);
                xmlhttp.send();
    }
    </script>
</head>
    <body>
    <form>
<?php 
//connection to db and mysql query

    $result = mysql_query($query) or die(mysql_error());
$options=""; 
while ($row=mysql_fetch_array($result)) { 
$id=$row["idProducts"]; 
$thing=$row["country"]; 
$options.="<OPTION VALUE='"$id'">".$thing.'</option>'; 
}
mysql_close();
?> 

<SELECT id="countrySearch" NAME=countrySearch onchange="load('divtest',   'step2.search.php', this.value)";>
<OPTION VALUE=0>Choose 
<?=$options?> 
</SELECT> 
<div id="divtest">
test
</div>
</form>

步骤2.搜索.php

<?php
    Simple grab this variable
    $id = $_GET['q'];
    //do your query stuffhere
?>