Php Autoselect和jQueryPost不能一起工作

Php Autoselect和jQueryPost不能一起工作,php,jquery,html,mysql,post,Php,Jquery,Html,Mysql,Post,我的代码还有一个问题 <script type="text/javascript"> $("#wojewodz").change(function(){ var id_wojewodztwa = $("#wojewodz").children(":selected").attr("id"); $.post("miasta.php", { id_wojewodztwa: id_wojewodztwa } ); $(

我的代码还有一个问题

    <script type="text/javascript">
        $("#wojewodz").change(function(){
        var id_wojewodztwa = $("#wojewodz").children(":selected").attr("id");
        $.post("miasta.php", { id_wojewodztwa: id_wojewodztwa } );
        $('#powiat_miasto_auto_complete').autocomplete({source:'miasta.php', minLength:2});
        });
    </script>
有人能告诉我哪里出错了吗? 当我将where woj='$id\u wojewodztwa'更改为例如where woj='26',delete和isset$\u GET['id\u wojewodztwa']时,一切都正常,所以我认为我在POST方面有问题


复活节快乐

您正在发布数据。您需要在$\u POST['id\u wojewodztwa']中查找您要查找的值,而不是在$\u GET中。

您正在发布数据。您需要在$\u POST['id\u wojewodztwa']中查找您要查找的值,而不是在$\u GET中

或者,如果您必须赶上结果,请使用:

$.get("miasta.php", { id_wojewodztwa: id_wojewodztwa },function(result){
       /** some code here */
},'json');
更新:

如果使用$.post,请编辑以下行:

if (($conn) and (isset($_POST['id_wojewodztwa'])))
{
    $id_wojewodztwa = $_POST['id_wojewodztwa'];

或者,如果您必须赶上结果,请使用:

$.get("miasta.php", { id_wojewodztwa: id_wojewodztwa },function(result){
       /** some code here */
},'json');
更新:

如果使用$.post,请编辑以下行:

if (($conn) and (isset($_POST['id_wojewodztwa'])))
{
    $id_wojewodztwa = $_POST['id_wojewodztwa'];

删除isset$\u GET['id\u wojewodztwa'],并修改$id\u wojewodztwa=intval$\u GET['id\u wojewodztwa']

删除isset$\u GET['id\u wojewodztwa'],并修改$id\u wojewodztwa=intval$\u GET['id\u wojewodztwa']

等一下。。当我将数据发布到miasta.php时,我必须在miasta.php中获取数据吗?我说的对吗?@DawidGórecki您正在使用jquery post$.postmiasta.php$\u GET保存通过URL查询字符串传递给php的HTTP GET请求值$_当以表单编码方式发布数据时,POST保存传递给PHP的HTTP POST请求值。POST数据位于$\u POST中。这是PHP101,所以您应该访问PHP站点,了解这些超全局变量是如何填充的。此外,听起来您应该阅读基本HTTP协议,以了解GET和POST与其他动作动词(如PUT和DELETE)之间的区别,这些动作动词通常不被浏览器使用,但对于现代RESTful web非常有用services@MikeBrant,好心的,我认为你错了,我们可以使用$_GET@Amir您可以使用HTTP GET来实现这一点,但您的代码示例显示您通过$.POST方法使用POST。请稍等。。当我将数据发布到miasta.php时,我必须在miasta.php中获取数据吗?我说的对吗?@DawidGórecki您正在使用jquery post$.postmiasta.php$\u GET保存通过URL查询字符串传递给php的HTTP GET请求值$_当以表单编码方式发布数据时,POST保存传递给PHP的HTTP POST请求值。POST数据位于$\u POST中。这是PHP101,所以您应该访问PHP站点,了解这些超全局变量是如何填充的。此外,听起来您应该阅读基本HTTP协议,以了解GET和POST与其他动作动词(如PUT和DELETE)之间的区别,这些动作动词通常不被浏览器使用,但对于现代RESTful web非常有用services@MikeBrant,好心的,我认为你错了,我们可以使用$_GET@Amir您可以使用HTTPGET来实现这一点,但是您的代码示例显示您通过$.POST方法使用POST;和$id_wojewodztwa=$_POST['id_wojewodztwa'];,自动完成仍然没有任何结果;和$id_wojewodztwa=$_POST['id_wojewodztwa'];,自动完成仍然没有任何结果。
$options = array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
); 

try {
  $conn = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass, $options);
}
catch(PDOException $e) {
    echo $e->getMessage();
}

$return_arr = array();

if (($conn) and (isset($_GET['id_wojewodztwa'])))
{
    $id_wojewodztwa = $_GET['id_wojewodztwa'];
    $ac_term = "%".$_GET['term']."%";
    $query = "SELECT DISTINCT nazwa FROM podzial_tm where woj='$id_wojewodztwa' and nazdod!='województwo' and nazwa like :term LIMIT 10";
    $result = $conn->prepare($query);
    $result->bindValue(":term",$ac_term);
    $result->execute();

    /* Retrieve and store in array the results of the query.*/
    while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
        $row_array['value'] = $row['nazwa'];

        array_push($return_arr,$row_array);
    }


}
/* Free connection resources. */
$conn = null; 
/* Toss back results as json encoded array. */
echo json_encode($return_arr);
?>