JQuery - Error Jquery xhr.send al enviar formulario

 
Vista:
sin imagen de perfil

Error Jquery xhr.send al enviar formulario

Publicado por Janjio (2 intervenciones) el 15/12/2014 20:09:45
Buenas tardes, llevo un par de días dándole vueltas a este error y googleando sin resultados. A ver si podéis iluminarme.

Tengo un formulario de modificación de registro que envío con la siguiente función:

function guarda(){
if ($("#id").val() != ""){ //Existe id, es EDICION
if ($("#input_nom_prod").val() == ""){
alert ("El nombre no puede estar vacio");
return;
}
var datos = 'a=edit&id=' + $('#id').val() + '&codigo_prod=' + $('#input_cod_prod').val() + '&nombre_prod=' + $('#input_nom_prod').val() + '&obs_prod=' + $('#obs_prod').val()
$.ajax({
type: 'POST',
url: 'productos/func_productos.php',
data: datos,
beforeSend: function () {
$("#carg").html("<img src='images/loader.gif' />");
},
success:function(response){
if(response==1){
console.error();
$("#carg").html("");
$("#alta_producto").hide;
$("#central").load("productos/ini_productos.php");
}else{
$('.box-error').hide(0).html('Lo sentimos, pero los datos son incorrectos: ' + msj);
$('.box-error').slideDown(timeSlide);
console.error("ERROR: "+response);
}
}
});
} else { // No existe id, es ALTA
if ($("#input_nom_prod").val() == ""){
alert ("El nombre no puede estar vacio");
return false;
} else if ($("#input_cod_prod").val() == ""){
alert ("El codigo no puede estar vacio");
return false;
}
var datos = 'nombre_prod=' + $('#input_nom_prod').val() + '&codigo_prod=' + $('#input_cod_prod').val() + '&obs_prod=' + $('#obs_prod').val();
$.ajax({
type: 'POST',
url: 'productos/func_productos.php?a=alta',
data: datos,
beforeSend: function () {
$("#carg").html("<img src='images/loader.gif'>");
},
success:function(response){
if(response==1){
$("#carg").html("");
$("#alta_producto").hide;
$("#central").load("productos/ini_productos.php");
}else{
alert("ERROR: "+response);
}
}
});
}

}


Y este es el PHP que recoge los datos, guarda el registro y devuelve 1 si todo ha ido bien

<?php
include_once "../include/seguridad.php";
include_once "../include/conectar.php";
$conexion=conecta($_SESSION["bd"]);
// ===== Grabar Registro ===============================
if (isset($_POST["a"])){
switch ($_POST["a"]) {
case "edit":
// EDICION /////////////////////////////////////////////////////
$sql = "Update productos set codigo_prod='". $conexion->real_escape_string($_POST["codigo_prod"])."',nombre_prod='". $conexion->real_escape_string($_POST["nombre_prod"])."',obs_prod='". $_POST["obs_prod"] ."' where id=".$_POST["id"];
break;
case "alta":
// ALTA /////////////////////////////////////////////////////
$sql = "INSERT into productos (codigo_prod, nombre_prod, obs_prod) values('".$conexion->real_escape_string($_POST["codigo_prod"])."','". $conexion->real_escape_string($_POST["nombre_prod"])."', '". $conexion->real_escape_string($_POST["obs_prod"]) ."');";
break;
case "del":
// BORRADO /////////////////////////////////////////////////////
$sql = "DELETE FROM productos WHERE id=". $_POST["id"] .";";
break;
}
if (!$resultado = $conexion->query($sql)){
die('Error SQL ['.$conexion->error . '] - '.$sql);
}else{
//Guardado OK
echo 1;
}
}
$conexion->close();

?>

El problema es que todo el código funciona bien, me guarda los registros pero en la consola me arroja un error de jquery en la linea 8623 (Uso jquery 2.1.1)

xhr.send( options.hasContent && options.data || null );

El problema es que al saltar ese error ya no sigue ejecutando el código javascript.
Alguna idea de donde puede estar el error?
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder