Activa las notificaciones push PhoneGap Spain

Foro

Home Forums Programación Problema con getJSON en emulador Phonegap

This topic contains 1 reply, has 2 voices, and was last updated by Jose Jesus Perez Rivas Jose Jesus Perez Rivas 2 meses .

Viendo 2 respuestas - de la 1 a 2 (de 2 en total)
  • Problema con getJSON en emulador Phonegap

    Intervenciones
  • raulbht17 
    Participant

    Buenos días, estoy realizando una app de prueba la cual es un pequeño formulario con 2 campos: usuario y password, y luego tengo un fichero .php el cual lo utilizo para validar esos campos y que me devuelva en un json la respuesta.
    Mi problema es que cuando lo ejecuto en el navegador funciona perfecto pero cuando lo pruebo desde el emulador no me hace nada y el único error que me da en la consola del emulador es el siguiente:
    undefined Content Security Policy has been added: <meta http-equiv=”Content-Security-Policy” content=”default-src * gap: ws: https://ssl.gstatic.com;img-src * ‘self’ data: content:;style-src ‘self’ ‘unsafe-inline’ data: blob:;script-src * ‘unsafe-inline’ ‘unsafe-eval’ data: blob:;”>

    El siguiente código es el main.js:

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.
    21.
    22.
    23.
    24.
    25.
    26.
    27.
    28.
    29.
    30.
    31.
    32.
    33.
    34.
    35.
    36.
    37.
    38.
    39.
    40.
    41.
    42.
    43.
    44.
    45.
    46.
    47.
    48.
    49.
    50.
    51.
    52.
    53.
    54.
    55.
    56.
    57.
    58.
    59.
    60.
    61.
    62.
    63.
    64.
    65.
    66.
    67.
    68.
    69.
    70.
    71.
    72.
    73.
    74.
    75.
    76.
    77.
    78.
    79.

    var contenedor_ppal;
    var usuario;
    var password;
    var enviar;

    function inicio() {

        contenedor_ppal = document.createElement("div");
        contenedor_ppal.id = 'contenedor_ppal';
        contenedor_ppal.className = 'contenedor_ppal';
        document.getElementById('main_ppal').appendChild(contenedor_ppal);

        usuario = document.createElement("input");
        usuario.id = 'usuario';
        usuario.className = 'usuario';
        usuario.type = "text";
        document.getElementById('contenedor_ppal').appendChild(usuario);
        usuario.placeholder = "Usuario";

        password = document.createElement("input");
        password.id = 'password';
        password.className = 'password';
        password.type = "text";
        document.getElementById('contenedor_ppal').appendChild(password);
        password.placeholder = "Password";

        enviar = document.createElement("button");
        enviar.id = 'enviar';
        enviar.className = 'enviar';
        document.getElementById('contenedor_ppal').appendChild(enviar);
        enviar.innerHTML = "Enviar";

        validacionDatos();
    }

    /** Esta funcion sirve para enviar datos desde el formulario al servidor y obtener una respuesta **/
    function validacionDatos() {
        document.getElementById('enviar').addEventListener('click', function() {

            // recolecta los valores que inserto el usuario
            var datosUsuario = $("#usuario").val();
            var datosPassword = $("#password").val();

            if (datosUsuario == "") {
                $(".usuario").addClass("invalid");
            } else {
                $(".usuario").removeClass("invalid");
                $(".usuario").addClass("valid");
            }

            if (datosPassword == "") {
                $(".password").addClass("invalid");
            } else {
                $(".password").removeClass("invalid");
                $(".password").addClass("valid");
            }

            if (datosUsuario != "" && datosPassword != "") {
                archivoValidacion = "http://192.168.0.108/testJSON/validacion.php?jsoncallback=?"
                $.getJSON(archivoValidacion, { usuario: datosUsuario, password: datosPassword })
                    .done(function(respuestaServer) {

                        //alert(respuestaServer.mensaje + "\nGenerado en: " + respuestaServer.hora + "\n" + respuestaServer.generador)

                        if (respuestaServer.validacion == "ok") {

                            /// si la validacion es correcta, muestra la pantalla "home"
                            alert("Validacion correcta");

                        } else {
                            alert("Error al realizar la validacion");
                            /// ejecutar una conducta cuando la validacion falla
                        }

                    });
                return false;
            }
        });
    }

    Y el siguiente es el fichero .php:

     Code: arbitrary (select
    1.
    2.
    3.
    4.
    5.
    6.
    7.
    8.
    9.
    10.
    11.
    12.
    13.
    14.
    15.
    16.
    17.
    18.
    19.
    20.
    21.
    22.
    23.
    24.
    25.
    26.
    27.
    28.
    29.
    30.

    <?php
      /* Define los valores que seran evaluados, en este ejemplo son valores estaticos,
      en una verdadera aplicacion generalmente son dinamicos a partir de una base de datos */
      $usuarioValido = "prueba";
      $passwordValido = "prueba";

      /* Extrae los valores enviados desde la aplicacion movil */
      $usuarioEnviado = $_GET['usuario'];
      $passwordEnviado = $_GET['password'];

      /* crea un array con datos arbitrarios que seran enviados de vuelta a la aplicacion */
      $resultados = array();
      $resultados["hora"] = date("F j, Y, g:i a");
      $resultados["generador"] = "Enviado desde el servidor" ;

      /* verifica que el usuario y password concuerden correctamente */
      if($usuarioEnviado == $usuarioValido  && $passwordEnviado == $passwordValido){
        /*esta informacion se envia solo si la validacion es correcta */
        $resultados["mensaje"] = "Validacion Correcta";
        $resultados["validacion"] = "ok";
      } else {
        /*esta informacion se envia si la validacion falla */
        $resultados["mensaje"] = "Usuario y password incorrectos";
        $resultados["validacion"] = "error";
      }
      /*convierte los resultados a formato json*/
      $resultadosJson = json_encode($resultados);
      /*muestra el resultado en un formato que no da problemas de seguridad en browsers */
      echo $_GET['jsoncallback'] . '(' . $resultadosJson . ');';
    ?>


    Jose Jesus Perez Rivas
    Jose Jesus Perez Rivas 
    Keymaster

    Hola @raulbht17, podrías compartir el código de tu archivo index.html? Quizás tengas un problema con algún permiso que tengas que añadir en cabecera.

    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 2 respuestas - de la 1 a 2 (de 2 en total)

You must be logged in to reply to this topic.