다른 PHP 파일을 호출하는 PHP 파일에서 ajax를 사용하려고하면 문제가 발생합니다. 나는 모든 카테고리의 제품을 얻을에 인쇄하려면 HTML을받을 수있는 첫 번째 PHP (getProductos.php)에 호출이 스크립트의 첫 번째 함수에서PHP와 JQuery에서 Ajax를 사용하는 중에 오류가 발생했습니다.
<script>
function obtenerProductos(cat) {
parametros = {"idCat": cat};
$.ajax({
data: parametros,
url: '/bin/getProductos.php',
type: 'post',
beforeSend: function() {
$(".prods > form").html("Procesando, espere por favor...");
},
success: function(respuesta) {
$(".prods > form").html(respuesta);
}
});
}
function obtenerProducto(prod) {
parametros2 = {"idProd": prod};
$.ajax({
data: parametros2,
url: '/bin/getProducto.php',
type: 'post',
beforeSend: function() {
lista = $(".cPreview").html() + "<br/> Añadiendo...";
$(".cPreview").html(lista);
},
success: function(respuesta) {
lista = $(".cPreview").html()+ respuesta.nombre + "\t" + respuesta.precio + "<br/>" ;
$(".cPreview").html(lista);
precio = parseFloat($(".precioT").html()) + respuesta.precio;
$(".precioT").html(precio);
}
});
}
</script>
: 여기 은 PHP 파일의 코드 양식. 두 번째 함수는 다른 제품 (getProducto.php)을 호출하여 선택한 제품의 모든 정보를 가져 와서 다른 div에 인쇄합니다. 여기에 PHP 파일이 있습니다.
getProductos.php
<?php
include '../funciones.php';
$recibido = $_POST['idCat'];
echo obtenerProductosCategorias($recibido);
?>
getProducto.php (망가 작품) (이 작품)
<?php
include '../funciones.php';
$recibido = $_POST['idProd'];
echo obtenerProductos($recibido);
?>
그리고이 코드의 두 기능 :
function obtenerProductosCategorias($idCat) {
conectDB();
$string = "";
$sql = 'select * from Productos where id_categoria="' . $idCat . '";';
$resultado = mysql_query($sql);
while ($row = mysql_fetch_array($resultado)) {
$string = $string . "<input type='button' onclick='obtenerProducto(" . $row["id_producto"] . ");return false;' value='" . $row['nombre_producto'] . "' />";
}
return $string;
closeDB();
}
function obtenerProductos($idProd) {
conectDB();
$sql = 'select * from Productos where id_producto="' . $idProd . '";';
$resul = mysql_query($sql);
while ($row = mysql_fetch_array($resul)) {
$resultado["nombre"] = $row["nombre_producto"];
$resultado["precio"] = $row["coste_producto"];
}
return json_encode($resultado);
closeDB();
}
알림이 t 안에 있습니다. 그는 PHP가 모든 것이 잘되고 있는지 확인하지만 두 번째 함수는 PHP에 입력하지 않습니다. PHP는 아무런 경고없이 PHP가 정의되지 않은 값을 반환합니다. 두 번째 함수는 PHP에 도달하는 데 문제가 있지만 URL은 정확하다고 생각합니다. 파일은 올바른 위치에 있습니다.
영어로 읽어 주셔서 감사 드리며 죄송합니다.
어디에서 JS 함수 obtenerProducto가 호출 되었습니까? –
PHP에서'$ query'를 echo하고 js에서 경고합니다. 어떤 쿼리가 실행되고 있는지 확인합니다. –
obtenerProductosCategorias 함수에 의해 생성 된 입력의 onclick 이벤트에서 – F90