Activa las notificaciones push PhoneGap Spain

Foro

Home Forums PhoneGap Manejo de error en ajax

This topic contains 4 replies, has 3 voices, and was last updated by Jose Jesus Perez Rivas Jose Jesus Perez Rivas 2 meses, 2 semanas .

Viendo 5 respuestas - de la 1 a 5 (de 5 en total)
  • Manejo de error en ajax

    Intervenciones
  • lorenzo_martin 
    Participant

    Muy buenas, tengo esta función en ajax y me gustaría poder controlar los posibles errores que puedan existir, ya que hay veces que inserta datos y otras no, la web php no me muestra ningun echo”"; imagino que es por que el control vuelve a la funcion ajax y es esta la que tiene que mostar algun error.

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.

    function MFormInsertar(){
      var parametros = {};

      $.ajax({
        data: parametros,
        url: "FormInsertar.html",
        type: "POST",
        
        beforeSend: function(){
          $("#ventana").html("Procesando...");
        },
        success: function(vista){
          $("#ventana").html(vista);
        }
      
      

      });

    }

    Un saludo

    • This topic was modified 2 meses, 2 semanas by Jose Jesus Perez Rivas Jose Jesus Perez Rivas. Reason: Debes utilizar el botón que te permite publicar código en el foro

    • This topic was modified 2 meses, 2 semanas by Jose Jesus Perez Rivas Jose Jesus Perez Rivas. Reason: Debes utilizar el botón que te permite publicar código en el foro
    JoseMN 
    Participant

    Hola Lorenzo, pudieras probar con agregar statusCode a tu petición AJAX, yo utilizo web api en C# pero en ese caso yo controlo los estados de codigo a devolver por parte del servidor, espero te funcione.

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.

    $.ajax({
                url: “FormInsertar.html”,
                type: “POST”,
                data: parametros,
                statusCode: {
                    200: function (data) {
                      // acción a ejecutar cuando el servidor devuelve un OK.
                    },
                    400: function (error) {
                       // acción a ejecutar cuando el servidor devuelve un Bad Request.
                    },
                    500: function (error) {
                        // acción a ejecutar cuando el servidor devuelve un Internal Server Error.
                    }
                }
            });

    • This reply was modified 2 meses, 2 semanas by Jose Jesus Perez Rivas Jose Jesus Perez Rivas. Reason: Debes utilizar el botón de publicar código que tienes en la caja de texto del foro

    • This reply was modified 2 meses, 2 semanas by Jose Jesus Perez Rivas Jose Jesus Perez Rivas. Reason: Debes utilizar el botón de publicar código que tienes en la caja de texto del foro
    Jose Jesus Perez Rivas
    Jose Jesus Perez Rivas 
    Keymaster

    Hola a los dos, si ejecutáis una llamada ajax de esta forma podréis controlar los distintos pasos y errores que ocurren cuando la llamada se ha o no se ha completado.

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.

    var xhttp = new XMLHttpRequest();
      xhttp.onreadystatechange = function() {
        console.log(this.readyState);
        console.log(this.status);
      };
      xhttp.open("GET", url, true);
      xhttp.send();

    readyState, contiene un valor numérico entero que representa la situación del intercambio de datos a través del objeto.

    status, contiene el código numérico entero enviado por el servidor que indica el tipo de respuesta dada a la petición. Puede tomar valores como:
    200: respuesta correcta.
    404: no encontrado.
    500: error interno del servidor.

    Espero os sea de ayuda :)


    CEO y Director de desarrollo en Cero y Uno Desarrollamos Aplicaciones – ¿tienes algún proyecto? ¡trabajemos juntos! contacto@ceroyuno.eshttp://www.ceroyuno.es Fundador de PhoneGap Spain http://www.phonegapspain.com Twitter: https://twitter.com/JoseJ_PR


    lorenzo_martin 
    Participant

    EL problema es que en cuanto meto cualquier manejo de errores dentro de la función, esta ya no me funciona. no se que hago mal . Soy muy nuevo en esto, seguro que estoy haciendo alguna burrada..


    Jose Jesus Perez Rivas
    Jose Jesus Perez Rivas 
    Keymaster

    La verdad es que no se que problema te puede dar poner algunos “if” dentro de “onreadystatechange”, e ir controlando los posibles estados de la consulta..

     Code: arbitrary (select
    1.
    2.
    3.
    4.

    xhttp.onreadystatechange = function() {
        if(this.status == 200){
        }
    };

    Saludos!


    CEO y Director de desarrollo en Cero y Uno Desarrollamos Aplicaciones – ¿tienes algún proyecto? ¡trabajemos juntos! contacto@ceroyuno.eshttp://www.ceroyuno.es Fundador de PhoneGap Spain http://www.phonegapspain.com Twitter: https://twitter.com/JoseJ_PR


Viendo 5 respuestas - de la 1 a 5 (de 5 en total)

You must be logged in to reply to this topic.