Obtengo error en llamado AJAX

giulichajari

Beta
Verificación en dos pasos desactivada
Desde
12 Feb 2016
Mensajes
81
Edad
28
Crédito(s)
1
Puntos
160
Tengo un formulario de factura donde si el cliente entrega parte del pago registro lo que entrego en el efectivo de la caja, y la diferencia con el total va a la cuenta corriente.

Entonces comparo si el vuelto es positivo, osea distinto de cero o menor registro, pero obtengo este error:

jquery-3.3.1.js:8463 Uncaught TypeError: Illegal invocation
at add (jquery-3.3.1.js:8463)
at buildParams (jquery-3.3.1.js:8450)
at buildParams (jquery-3.3.1.js:8444)
at Function.jQuery.param (jquery-3.3.1.js:8483)
at Function.ajax (jquery-3.3.1.js:9073)
at guardarDetalle (indexventa.js:802)
at HTMLInputElement. (indexventa.js:178)
at HTMLInputElement.dispatch (jquery-3.3.1.js:5183)
at HTMLInputElement.elemData.handle (jquery-3.3.1.js:4991)


Aquí el codigo:

Insertar CODE, HTML o PHP:
function guardarDetalle(){
 var d = new Date();
 var fecha =   d.getMonth() + '-'+ d.getDate() + '-' + d.getFullYear();
 var hora = d.getHours() + ':' + d.getMinutes() + ":" + d.getSeconds();  
 var vuelto=$("#Vuelto").val();
 if (vuelto>0){
   var efectivo = $("#efectivo").val();

    $.ajax({
    type: "POST",
        url: "/views/modules/cliente/procesodeuda.php",
        data: 
 {"accion":"acreditar","id":id,"acta":efectivo,"idsesion":sesion}, 


        error: function(){
            alert("error petición ajax");
        },

        });
    }}
Y es la unica llamada que da ese error, y no estoy enviando un formdata sino valores sueltos digamos. La verdad no entiendo porque, si las otras llamadas son iguales y funcionan perfecto
 
Última edición:

NoePerez

VIP
Gamma
Programador
Verificación en dos pasos desactivada
Desde
5 Ene 2019
Mensajes
262
Crédito(s)
0
Puntos
153
Hola

Tienes que ver si estás enviando bien los datos a procesodeuda.php, que estás recibiendo ahí, la función que muestras al parecer está bien. Se necesita ver el script para poder ayudarte mejor

Saludos
 

giulichajari

Beta
Verificación en dos pasos desactivada
Desde
12 Feb 2016
Mensajes
81
Edad
28
Crédito(s)
1
Puntos
160
Hola

Tienes que ver si estás enviando bien los datos a procesodeuda.php, que estás recibiendo ahí, la función que muestras al parecer está bien. Se necesita ver el script para poder ayudarte mejor

Saludos
Si como no..aca esta procesodeuda.php:

PHP:
<?php
include_once ($_SERVER['DOCUMENT_ROOT'].'/models/claseCliente.php');
if ($_POST['accion']=='detallar'){
    $cliente=new Cliente();
    $idc=$_POST['id'];
    $arraydeuda=$cliente->deuda($idc);
    echo json_encode($arraydeuda);
    
}
if ($_POST['accion']=='pago'){
    $cliente=new Cliente();
    $idc=$_POST['id'];
    $arraydeuda=$cliente->pagos($idc);
    echo json_encode($arraydeuda);
    
}
if ($_POST['accion']=='acreditar'){
    $cliente=new Cliente();
    $idc=$_POST['id'];
    $acta=$_POST['acta'];
$sesion=$_POST['idsesion'];
    $cliente->acreditar($idc,$acta,$sesion);
   
    
}

?>
Vos decis que el error esta del lado de php? Porque en Network en la consola del navegador ni se ejecuta procesodeuda.php, osea no llega.
 
Última edición:

NoePerez

VIP
Gamma
Programador
Verificación en dos pasos desactivada
Desde
5 Ene 2019
Mensajes
262
Crédito(s)
0
Puntos
153
Si crees que es en Ajax mira en el navegador que estás enviando a PHP.

Esto es por partes, primero que tienes en el form, después ver qué estás enviando, sino sale nada, tienes que ver qué Ajax este recogiendo los valores y así

- - - Actualizado - - -

Estaba leyendo el error y al parecer es algo con las variables que envías en Ajax, puede ser que no las declaras o que no tienen valor, revísalos
 

giulichajari

Beta
Verificación en dos pasos desactivada
Desde
12 Feb 2016
Mensajes
81
Edad
28
Crédito(s)
1
Puntos
160
Si crees que es en Ajax mira en el navegador que estás enviando a PHP.

Esto es por partes, primero que tienes en el form, después ver qué estás enviando, sino sale nada, tienes que ver qué Ajax este recogiendo los valores y así
No se ve nada, solo muestra error pero en la linea que dice $.ajax..
 

NoePerez

VIP
Gamma
Programador
Verificación en dos pasos desactivada
Desde
5 Ene 2019
Mensajes
262
Crédito(s)
0
Puntos
153
No se ve nada, solo muestra error pero en la linea que dice $.ajax..
Adonde estas viendo? si es chrome necesitas dar clic derecho y dar inspeccionar, despues a network, ahi vez cuando se conecta por ajax al archivo y los datos que estas enviando.

Sabes algo de ajax y php?

como hacer debug?
 

jsstoni

Gamma
Programador
Verificación en dos pasos desactivada
Verificado por Whatsapp
Desde
23 Ene 2015
Mensajes
378
Edad
26
Crédito(s)
1
Puntos
70
creo que el error se debe a que estas enviando mal la data en el ajax, las variables id y sesion donde se encuentras definidas en tu javascript ?
 

giulichajari

Beta
Verificación en dos pasos desactivada
Desde
12 Feb 2016
Mensajes
81
Edad
28
Crédito(s)
1
Puntos
160
Definitivamente..muchas gracias a los dos..declare las variables, aparentemente no existian ahora funciona..
 

Arriba