Я изучаю Nodejs и ExpressJS. Я пытаюсь использовать модули ExpressJS и 2 узла (request-ip и geoip2), чтобы получить IP-адрес клиента для геолокации, а затем вывести геолокацию в браузере с помощью AngularJS (1.x).Использование Nodejs, Express и AngularJS для отображения IP-адресов в браузере
До сих пор для моего Nodejs и Expressjs кода у меня есть
var express = require('express');
// require request-ip and register it as middleware
var requestIp = require('request-ip');
// to convert the ip into geolocation coords
var geoip2 = require('geoip2');
// Init app
var app = express();
var port = process.env.PORT || 8000;
geoip2.init(); // init the db
//app.use(requestIp.mw({ attributeName: 'myCustomAttributeName'}));
var ip = '207.97.227.239';//67.183.57.64, 207.97.227.239
// respond to homepage req
app.get('/', function (req, res, next) {
//var ip = req.myCustomAttributeName;// use this for live
//var ip = '207.97.227.239';/* use this for testing */
console.log('requestIP is ' + ip);
next();
// geolocation
geoip2.lookupSimple(ip, function(error, result) {
if (error) {
console.log("Error: %s", error);
}
else if (result) {
console.log(result);//ipType was causing console.log duplication, IDK why
}
});
});
// set static folder
app.use('/', express.static(__dirname + '/public'));
app.listen(port, function(){
console.log('user location app is running');
});
И Угловое У меня есть
angular.module('UserLocation', []);
angular.module('UserLocation')
.controller('MainController', MainController);
MainController.$inject = ['$http'];
function MainController($http) {
var vm = this;
vm.result = '';
vm.message = 'Hello World';
vm.getLocation = function() {
console.log();
return $http.get('localhost:8000', {
params: {result: result}
})
.then(function(result){
console.log(result);
})
};
};
vm.result
в угловом контроллер для результата от модуля Node geoip2, который выполняет геолокации.
Я могу получить result
в консоли без проблем, но я не уверен, как передать его Угловому. Я пользуюсь услугой $http
, но я не уверен, куда идти отсюда ...?
Как передать result
с модуля узла geoip2 на мой угловой контроллер с помощью $ http?
использование '$ http' для получения с сервера – charlietfl
@charlietfl вы можете дать маленький пример этого, просто что-то, чтобы начать меня? Довольно новичок в Nodejs. – user3125823