[英]jQuery AJAX post not working with my php code
我正在嘗試進行動態選擇。 您應該首先選擇州(id =“ edo”),然后選擇城市(id =“ municipio”)。 兩者都從我的數據庫中檢索信息; 但是,當我嘗試讓城市選擇通過AJAX通過郵寄動態響應時,沒有任何變化。 我直接運行我的頁面getMunicipio.php
,得到的是注意:第9行的C:\\xampp\\htdocs\\nthlife\\js\\getMunicipio.php
未定義索引:id_estado
你能幫助我嗎? 這是我的JavaScript代碼。
$(document).ready(function (){
$("#edo").change(function () {
$("#edo option:selected").each(function () {
id_estado = $(this).val();
//alert(id_estado);
$.post("getMunicipio.php", { id_estado: id_estado }, function(data){
$("#municipio").html(data);
});
});
})
});
這是getMunicipio.php中的代碼
include "../includes/conexionbd.php";
//var_dump($_POST);
//if (isset($_POST['id_estado']))
{
$id_estado = $_POST['id_estado'];
$queryM = "SELECT * FROM municipios WHERE estado = '".$id_estado."'";
$resultadoM = mysqli_query($conexion, $queryM) or die(mysqli_error($conexion));
$check = mysqli_num_rows($resultadoM);
$html= "<option value='0'>" . $check . "</option>";
while($rowM = mysqli_fetch_array($resultadoM))
{
$html.= "<option value='".$rowM['id_municipio']."'>".$rowM['nombre_municipio']."</option>";
}
echo $html;
}
謝謝。
確實需要查看您的HTML,但是從發布的內容來看,JavaScript端應該可以正常工作。
您在var_dump($_POST)
看到什么? 直接運行頁面可能會引發錯誤,因為未設置POST變量,並且已將if (isset($_POST['id_estado']))
條件注釋掉。 您應該將條件更改為if (!empty($_POST['id_estado']))
,就好像表單使用空值發布該表單時,該表單仍將被設置,但它將為空。
您正在使用雙引號創建字符串,因此無需轉義變量,因為PHP會解析它們。
這些:
$html= "<option value='0'>" . $check . "</option>";
$queryM = "SELECT * FROM municipios WHERE estado = '".$id_estado."'";
可以成為這些:
$html= "<option value='0'>$check</option>";
$queryM = "SELECT * FROM municipios WHERE estado = '$id_estado'";
但是,不能在雙引號字符串中使用單引號數組鍵。
更改此:
$html.= "<option value='".$rowM['id_municipio']."'>".$rowM['nombre_municipio']."</option>";
對此:
$html.= "<option value='{$rowM['id_municipio']}'>{$rowM['nombre_municipio']}</option>";
或這個:
$html.= "<option value='$rowM[id_municipio]'>$rowM[nombre_municipio]</option>";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.