none
Pasar variable de JS a lado del servidor automaticamente RRS feed

  • Pregunta

  • Hola, tengo un problema, lo que sucede es que necesito pasar la ubicación del usuario de mi aplicación la cual capturo por JavaScript, específicamente con la función navigator.geolocation.getcurrentposition().El dato al cargar la pagina se genera y lo cargo en un textbox, pero necesito que aparte de generarse se pase al lado del servidor para poder ejecutar un método el cual busca esa dirección en base de datos. En resumen necesito pasar ese dato desde el cliente al servidor sin necesidad de un botón
    lunes, 14 de noviembre de 2016 12:28

Respuestas

  •  necesito pasar ese dato desde el cliente al servidor sin necesidad de un botón
    Bueno, en algun sitio del codigo cliente has tenido que ejecutar algo de javascript puesto que mencionas que has llamado a la función navigator.geolocation.getcurrentposition(). Simplemente, en ese mismo codigo que ya tienes, cuando retorne el resultado de esa funcion se lo pasas a una llamada ajax (por ejemplo un $.ajax de jQuery) para que lo envie al servidor.
    lunes, 14 de noviembre de 2016 14:29
  • Lo ideal sería utilizar un callback que haga la llamada asíncrona, es decir, una vez obtenido el resultado de getCurrentPosition() si todo ha ido correctamente acto seguido llamar al servidor.

    Algo tal que así

    window.onload = function() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { alert('it works');

    //TODO: Stuffs }, function(error) {

    //TODO: Show error message alert('Error occurred. Error code: ' + error.code); },{timeout:5000}); }else{ alert('no geolocation support'); } };

    martes, 15 de noviembre de 2016 15:53

Todas las respuestas

  •  necesito pasar ese dato desde el cliente al servidor sin necesidad de un botón
    Bueno, en algun sitio del codigo cliente has tenido que ejecutar algo de javascript puesto que mencionas que has llamado a la función navigator.geolocation.getcurrentposition(). Simplemente, en ese mismo codigo que ya tienes, cuando retorne el resultado de esa funcion se lo pasas a una llamada ajax (por ejemplo un $.ajax de jQuery) para que lo envie al servidor.
    lunes, 14 de noviembre de 2016 14:29
  • Lo ideal sería utilizar un callback que haga la llamada asíncrona, es decir, una vez obtenido el resultado de getCurrentPosition() si todo ha ido correctamente acto seguido llamar al servidor.

    Algo tal que así

    window.onload = function() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(function(position) { alert('it works');

    //TODO: Stuffs }, function(error) {

    //TODO: Show error message alert('Error occurred. Error code: ' + error.code); },{timeout:5000}); }else{ alert('no geolocation support'); } };

    martes, 15 de noviembre de 2016 15:53