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);
?>