Obtenho erro em chamada AJAX

  • Autor Autor giulichajari
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
giulichajari

giulichajari

Gamma
Usuário com poucas negociações! Use sempre o saldo do ForoBeta!
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:

Inserir CODE, HTML ou 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 edição:
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
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
 
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 edição:
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
 
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..
 
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?
 
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 ?
 
Definitivamente..muchas gracias a los dos..declare las variables, aparentemente no existian ahora funciona..
 
Voltar
Topo