我在注册时使用nodemailer验证用户的电子邮件。它会发送一封带有链接的电子邮件(类似于localhost:3000 / verify /?id = ##)。
当他们点击链接时,它可以工作,我可以看到已经发出GET请求。
GET /verify/?id=141 200 2.582 ms - 4638
我试过了:
api.get('/verify/?id=', function(req, res) {
console.log('verify request has been made'); // doesn't log on console
})
我也试过这个:
api.get('/verify', function(req, res) {
console.log(req.query.id);
console.log(req.param.id);
})
根据我在这里和其他地方看到的问题的回答,但没有记录。
另外,我使用Angular(使用ngRoute)所以它也可能在前端发生了一些事情,但我是MEAN堆栈的新手,并且不知道从哪里开始。< / p>
修改 这是前端:
app.routes.js
angular.module('appRoutes', ['ngRoute'])
.config(function($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'app/views/pages/map.html',
controller: 'MainController',
})
.when('/verify/:username', {
templateUrl: 'app/verify/verify.html',
controller: 'verifyController'
})
$locationProvider.html5Mode({ enabled: true, requireBase: false });;
})
verifyController.js
angular.module('verifyController', ['verifySerivice'])
.controller('verifyController', function($routeParams, verify){
console.log('in verify controller');
var id = $routeParams.id;
verify.verifyUser(id);
})
verifyService.js
angular.module('verifyService', [])
.factory('verify', function($http) {
var verifyFactory = {};
verifyFactory.verifyUser = function(id) {
console.log('verify service accessed');
return $http.get('/verify', id)
.then(handleSuccess, handleError);
}
return verifyFactory;
})
答案 0 :(得分:1)
您能提供路由代码和用于提出请求的代码吗? 如果Angular正在处理您的路由,如果您通过浏览器的地址栏请求URL,请求可能永远不会实际进入节点服务器。如果您使用http模块来发出get AJAX请求,那么查看也会很有帮助。