php脚本未接收Javascript load()方法的数据参数

php脚本未接收Javascript load()方法的数据参数,javascript,php,html,Javascript,Php,Html,提前感谢你在这件事上的帮助。我正在尝试实现一个动态下拉菜单。区域菜单是在选择国家/地区后动态创建的。问题是国家值没有到达php脚本,因此我无法创建正确的sql语句。我使用了一个select col from table查询来验证动态列表是否确实正在创建,而不是基于用户的国家/地区选择。我不知道为什么这个选择没有改变。我想这可能是我的javascript语法有问题吧?非常感谢您的指导 文件:cargo.php <script src="http://ajax.googleapis.com/a

提前感谢你在这件事上的帮助。我正在尝试实现一个动态下拉菜单。区域菜单是在选择国家/地区后动态创建的。问题是国家值没有到达php脚本,因此我无法创建正确的sql语句。我使用了一个select col from table查询来验证动态列表是否确实正在创建,而不是基于用户的国家/地区选择。我不知道为什么这个选择没有改变。我想这可能是我的javascript语法有问题吧?非常感谢您的指导

文件:cargo.php

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function()
{
     $("#product_country").click(function()
     {
         $("#product_region").load("../scripts/find_region.php?choice=" + $("#product_country").val());
     });
});
 <table id="menuSelectors" width="850" cellpadding="2">
 <form action="cargo.php" method="POST">
  <tr>
    <td>varietal</td>
    <td>type</td>
    <td>style</td>
    <td>color</td>
    <td>country</td>
    <td>region</td>
    <td>price</td>
  <tr>
    <td>
      <select name="product_varietal" class="selector">
        <option value="" selected="selected"></option>
        <option value="merlot">merlot</option>
        <option value="pinot gris">pinot gris</option>
        <option value="chardonnay">chardonnay</option>
      </select>
    </td>

    <td>
      <select name="product_type" class="selector">
          <option value="" selected="selected"></option>
          <option value="sparkling">sparkling</option>
          <option value="still">still</option>
          <option value="still">effervescent</option>
      </select>
    </td>

    <td>
      <select name="product_style" class="selector"> 
          <option value="" selected="selected"></option>
          <option value="dry">dry</option>
          <option value="sweet">sweet</option>
          <option value="semi-sweet">semi-sweet</option>
       </select>
    </td>
    <td>
      <select name="product_color" class="selector">
          <option value="" selected="selected"></option>
          <option value="red">red</option>
          <option value="white">white</option>
      </select>
    </td>
    <td>
      <select id="product_country" name="product_country" class="selector">
          <option value="australia">Australia</option>
          <option value="france">France</option>
          <option value="germany">Germany</option>
          <option value="united states">United States</option>
      </select>
    </td>
    <td>
      <select id="product_region" name="product_region" class="selector">
      <option value="" selected="selected">Select Country First</option>
      </select>
    </td>
    <td>
      <select name="product_price" class="selector">
          <option value="" selected="selected"></option>
          <option value="BETWEEN 0 AND 10"> under $10</option>
          <option value="BETWEEN 10 AND 20">$10 - $20</option>
          <option value="BETWEEN 20 AND 30">$20 - $30</option>
          <option value="BETWEEN 40 AND 50">$40 - $50</option>
          <option value="BETWEEN 50 AND 100">$50 - $100</option>
          <option value="BETWEEN 100 AND 500">$100 over</option>
      </select>
    </td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td><input type="submit" class="submit" value="SUBMIT" /></td>
  </tr>
 </form>
</table>
cargo.php的html

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">

$(document).ready(function()
{
     $("#product_country").click(function()
     {
         $("#product_region").load("../scripts/find_region.php?choice=" + $("#product_country").val());
     });
});
 <table id="menuSelectors" width="850" cellpadding="2">
 <form action="cargo.php" method="POST">
  <tr>
    <td>varietal</td>
    <td>type</td>
    <td>style</td>
    <td>color</td>
    <td>country</td>
    <td>region</td>
    <td>price</td>
  <tr>
    <td>
      <select name="product_varietal" class="selector">
        <option value="" selected="selected"></option>
        <option value="merlot">merlot</option>
        <option value="pinot gris">pinot gris</option>
        <option value="chardonnay">chardonnay</option>
      </select>
    </td>

    <td>
      <select name="product_type" class="selector">
          <option value="" selected="selected"></option>
          <option value="sparkling">sparkling</option>
          <option value="still">still</option>
          <option value="still">effervescent</option>
      </select>
    </td>

    <td>
      <select name="product_style" class="selector"> 
          <option value="" selected="selected"></option>
          <option value="dry">dry</option>
          <option value="sweet">sweet</option>
          <option value="semi-sweet">semi-sweet</option>
       </select>
    </td>
    <td>
      <select name="product_color" class="selector">
          <option value="" selected="selected"></option>
          <option value="red">red</option>
          <option value="white">white</option>
      </select>
    </td>
    <td>
      <select id="product_country" name="product_country" class="selector">
          <option value="australia">Australia</option>
          <option value="france">France</option>
          <option value="germany">Germany</option>
          <option value="united states">United States</option>
      </select>
    </td>
    <td>
      <select id="product_region" name="product_region" class="selector">
      <option value="" selected="selected">Select Country First</option>
      </select>
    </td>
    <td>
      <select name="product_price" class="selector">
          <option value="" selected="selected"></option>
          <option value="BETWEEN 0 AND 10"> under $10</option>
          <option value="BETWEEN 10 AND 20">$10 - $20</option>
          <option value="BETWEEN 20 AND 30">$20 - $30</option>
          <option value="BETWEEN 40 AND 50">$40 - $50</option>
          <option value="BETWEEN 50 AND 100">$50 - $100</option>
          <option value="BETWEEN 100 AND 500">$100 over</option>
      </select>
    </td>
  </tr>
  <tr>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td></td>
    <td><input type="submit" class="submit" value="SUBMIT" /></td>
  </tr>
 </form>
</table>
文件:find_region.php

<?php
    //CONNECT
    require_once 'connect.php';


    $country = mysqli_real_escape_string($_GET['choice']);

    $region_result = mysqli_query($con,"SELECT product_region FROM product");
    //$region_result = mysqli_query($con,"SELECT wine_region FROM wine_regions WHERE wine_country = '$country'");

    if (!$region_result) 
    {
       printf("Error: %s\n", mysqli_error($con));
    }
    else
    {

        while ($row = mysqli_fetch_array($region_result)) 
        {
            echo "<option>" . $row{'product_region'} . "</option>";
        //echo "<option>" . $row{'wine_region'} . "</option>";
        }
    }

?>

尝试$product\U country.change而不是$product\U country.click?另外,让PHP脚本返回HTML是不好的做法。。。考虑使用JavaScript返回JSON数据并将其解释为HTML等。当您在浏览器中键入URL/Studio/FiffyLeal.php?选择= FoO时会发生什么?换句话说,你确定PHP工作正常吗?谢谢Chris Willard!问题是:mysqli_real_escape_string$_GET['choice'];我需要在$GET param之前添加$con param。如果正确,请查看路径:../scripts/find_region.php。