Reputation: 455
I need to get data by id from server.
I wrote a service by Angular 2:
import { Injectable } from '@angular/core';
import { Http, Response, Headers } from '@angular/http';
import { AppConfig } from '../appConfig';
import { JwtService } from './jwt.service';
@Injectable()
export class MemberService {
constructor(
private http: Http,
private appConfig: AppConfig,
private jwtService: JwtService) { }
getMembersById(id: number) {
const headers = new Headers();
headers.append('Authorization', 'Token ' + this.jwtService.getToken());
return this.http.get(this.appConfig.urlServer + '/members/' + id, { headers: headers })
.map((res: Response) => res.json())
}
}
A code my server:
const express = require('express');
const cors = require('cors');
const bodyParser = require('body-parser');
const morgan = require('morgan');
const flash = require('connect-flash');
const expressSession = require('express-session');
const nconf = require('./config');
const tables = require('./create_tables');
const routes = require('./routes');
const passport = require('passport');
const app = express();
const port = nconf.get('port');
app.set('port', (process.env.PORT || port));
tables.create_tables();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extend: false
}));
app.use(morgan('dev'));
app.use(cors());
app.use(passport.initialize());
app.use(passport.session());
app.use(expressSession({
secret: 'keyboard cat'
}));
app.use(flash());
require('./passport/passport')(passport);
app.use('/', routes);
app.listen(app.get('port'));
module.export = app;
Also I created index.js
which set the routes for the app:
const express = require('express');
const router = express();
const members = require('./members');
router.use('/members', members);
module.exports = router;
And I made the method in the members.js
:
const express = require('express');
const mysql = require('mysql');
const nconf = require('../config');
const connection = mysql.createConnection(nconf.get('db'));
const token = require('../middlewares/token');
const router = express();
router.get('/:id', token.required, getGroupsById);
module.exports = router;
function getGroupsById(res, req) {
console.log(req.params);
}
Id is a number. Then I send it to my server but when I want to see got parameters I have the error:
undefined
I cannot understand where I made the errors. I seached in the stackoverflow answers and it don't help to me for resolving my problem.
Perhaps, somewhere I made the errors and now I cannot find it.
Please, help to me anybody.
Upvotes: 1
Views: 816
Reputation: 9022
You have wrongly defined the signature of getGroupsById
, it should be (req, res)
instead of (res, req)
Correct signature:
function getGroupsById(req, res) {
console.log(req.params);
}
Upvotes: 3