在PHP和JQuery中使用Ajax时出错
Error using Ajax in PHP and JQuery
我遇到了一个问题,当我尝试在PHP文件中使用ajax,调用另一个PHP文件。下面是php文件的代码:
<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 (getProductos.php)来获取一个类别的所有产品,并接收一个以表单形式打印的html。第二个函数调用另一个php (getproduct .php)来获取所选产品的所有信息,并将其打印到另一个div中。这里的PHP文件名为。
getProductos.php (This works)
<?php
include '../funciones.php';
$recibido = $_POST['idCat'];
echo obtenerProductosCategorias($recibido);
?>
getProducto.php(不工作)
<?php
include '../funciones.php';
$recibido = $_POST['idProd'];
echo obtenerProductos($recibido);
?>
和本代码的2个功能:
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();
}
我有警告在PHP检查一切都很好,但第二个函数没有进入他的PHP,它返回未定义未定义没有显示PHP的任何警告,这就是为什么我认为第二个函数有一些问题,以达到他的PHP,但URL是正确的,文件位于正确的地方。
谢谢你的阅读,对不起我的英语。
尝试在为$resultado赋值之前将其定义为数组。不确定,但在某些配置中,这确实会破坏PHP。
function obtenerProductos($idProd) {
conectDB();
$sql = 'select * from Productos where id_producto="' . $idProd . '";';
$resul = mysql_query($sql);
$resultado = array();
while ($row = mysql_fetch_array($resul)) {
$resultado["nombre"] = $row["nombre_producto"];
$resultado["precio"] = $row["coste_producto"];
}
return json_encode($resultado);
closeDB();
}
相关文章:
- jQuery AJAX总是出错
- 使用Pebble.js获取AJAX请求时出错
- 在 $.ajax 调用中出错
- jQuery AJAX POST请求传递值时出错
- 完成ajax调用数组的循环,而不是在某个调用出错时中断
- 将jquery ajax请求推入数组时出错
- 未捕获的类型错误:this.reset不是函数-在ajax调用后清空输入时出错
- Ajax向Wicket服务器发送两个请求时出错
- 尝试从ajax静态WebMethod获取asp.net(C#)文本框文本时出错
- JQuery尝试进行Ajax调用时出错
- 使用Jquery上载文件时出错&ajax
- 使用ajax将数据发布到asmx web服务并使用javascript函数在html页面中编写响应时出错
- 在提交事件上调用 ajax 时出错
- Jquery Ajax 上传大文件会出错
- 使用 $.ajax 从服务器加载 1000+ 条记录时出错
- 使用 grails 和 javascript 执行 ajax 时出错
- Ajax 调用时出错 ->发送两个文件而不是一个文件
- 通过 ajax 调用 wcf 服务时出错
- recpatcha 返回 200,仍然在使用 jQuery ajax 时出错
- 405 AJAX 调用 JSON 时出错(xhr.status)