2014-07-27 1 views
1

Я создаю простое приложение nodejs и использую пыль на стороне клиента. Я пытаюсь получить lat, lng из местоположения пользователей и хочу, чтобы API вызывал с использованием js express framework. Поэтому я получаю lat, lng на стороне клиента от geolocation api. Теперь я хочу передать lat, lng на контроллер, чтобы я мог запросить API для отображения содержимого пользователя. Извините, если это действительно просто. Я новичок как в узлах, так и в пыли. Что я пробовал до сих пор? 1. Я попытался представить форму с помощью JQuery 2. Установка некоторых значений DOM и т.д.Как передать значения клиента от стороны браузера к контроллеру node.js

$(document).ready(function() { 
      var options = { 
      enableHighAccuracy: true, 
      timeout: 5000, 
      maximumAge: 0 
      }; 
      function success(pos) { 
      var crd = pos.coords; 
      document.querySelector("[name='latitude']").value = crd.latitude; 
      document.querySelector("[name='longitude']").value = crd.longitude; 
      console.log('Latitude : ' + crd.latitude); 
      console.log('Longitude: ' + crd.longitude); 
      }; 
      function error(err) { 
      console.warn('ERROR(' + err.code + '): ' + err.message); 
      }; 
      navigator.geolocation.getCurrentPosition(success, error, options); 
    }); 

контроллер код:

module.exports = function (router) { 
    router.get('/', function (req, res) { 
     //How do I pass the lat, lng from the client to controller? 
    }); 
} 

ответ

2

Просто сделайте АЯКС вызов вашего пути маршрута на стороне клиента и в маршрутизаторе обратного вызова получить отправленные данные

Client

//Make the ajax request 
$.post("/postLatLng",{lat:latVariable,lng:lngVariable}); 

Узел

//hanlde the post request to /postLatLng 
router.post('/postLatLng', function (req, res) { 
    var lat = req.param("lat"); 
    var lng = req.param("lng"); 
    //... 
}); 

Express api

+0

Работает отлично. Большое спасибо – nilesh

 Смежные вопросы

  • Нет связанных вопросов^_^