Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用ajax将值传递到另一个php页面_Javascript_Php_Html_Mysql_Ajax - Fatal编程技术网

Javascript 如何使用ajax将值传递到另一个php页面

Javascript 如何使用ajax将值传递到另一个php页面,javascript,php,html,mysql,ajax,Javascript,Php,Html,Mysql,Ajax,我正在尝试使用Ajax将select选项输入的值传递到另一个PHP页面中,并将数据库和数据提取到select选项中。然而,我的问题是在第二个选择选项中并没有显示任何内容 我有一个名为Country的选择选项,其中包含cid为1,2,3,4的国家1、国家2、国家3、国家4 我想要的是将过去的国家ID(cid)输入getdata.php,查询包含城市a、城市b、城市c等的城市数据库,并使用Ajax将城市数据提取到select选项中 当我选择国家时,我需要使城市选择选项动态更改 以下是我的数据库结构:

我正在尝试使用Ajax将select选项输入的值传递到另一个PHP页面中,并将数据库和数据提取到select选项中。然而,我的问题是在第二个选择选项中并没有显示任何内容

我有一个名为Country的选择选项,其中包含cid为1,2,3,4的国家1、国家2、国家3、国家4

我想要的是将过去的国家ID(cid)输入getdata.php,查询包含城市a、城市b、城市c等的城市数据库,并使用Ajax将城市数据提取到select选项中

当我选择国家时,我需要使城市选择选项动态更改

以下是我的数据库结构:

Country.db

城市数据库

这是我的剧本:

dropdown.php

<?php

    require_once "connection.php";
?>

<html>
<head>
    <title>Dropdown ajax</title>
</head>
<body>


<div class="country" >
    <label>Country</label>
    <select name="country" onchange="getId(this.value);">
    <option value=""> -- Select Country -- </option>

    <!-- populate value using php -->

    <?php
        $query = "SELECT * FROM country";
        $result = mysqli_query($con,$query);

        //loop

        foreach ($result as $country) {
        ?>
            <option value="<?php echo $country["cid"]; ?>"> <?php echo $country["country"]; ?> </option>

        <?php 
            } 
        ?>

</select>
</div>
<div class="city">
    <label>City</label>
    <select name="city" id="cityList">

        <option value=""></option>

    </select>
</div>
<script src="jquery-3.2.1.min"></script>
<script type="text/javascript">
    function getId(val){
        // ajax function

        $.ajax({
            type:"POST",
            url:"getdata.php",
            data:"cid="+val,
            success:function(data){
                $(#cityList).html(data);
            }
        });
    }
</script>

</body>
</html>

下拉式ajax
国家
--选择国家--

ajax成功处理程序中的选择器必须是字符串,而不是标识符:

success:function(data){
  $('#cityList').html(data);
}

请使用Chrome开发者工具调试此web应用程序。要访问DevTools,请在Google Chrome中打开网页或web应用程序。选择浏览器窗口右上角的Chrome菜单,然后选择工具>开发人员工具。或者只需按F12。然后单击Console选项卡查看错误消息,单击Network选项卡调试ajax调用。然后向我们显示错误消息,以便我们可以帮助您:DWhat@aldo said是一个很好的建议,但您还需要注意您的SQL注入漏洞。您不应在没有验证、转义、类型转换或其他内容的情况下获取post数据并直接在查询中使用。@aldo:错误表示未捕获引用错误:$未在HTMLSelectElement.onchange(dropdown.php:11)的getId(dropdown.php:40)中定义getId@dropdown.php:40 onchange@dropdown.php:11i将jquery放在本地驱动器上最终解决了这个问题,下拉列表使用ajax进行了动态更改。谢谢你的帮助。
<?php
    $con = mysqli_connect("localhost","root","admin","dropdowndb");

    //check connection
    if(mysqli_connect_errno()){
        echo "Failed to connect :".mysqli_connect_errno();
    }
?>
success:function(data){
  $('#cityList').html(data);
}