• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

ExpressJS - przekierowywuje po POST

+1 głos
109 wizyt
pytanie zadane 25 kwietnia 2017 w JavaScript przez zgrybus Pasjonat (24,960 p.)

Mam taki problem. Serwer przekierowywuje mnie po rejestracji użytkownika ( metoda POST, wiadomo ). Problem niby łatwy do rozwiązania, ale za nic nie wiem gdzie on się znajduje :s Jakieś pomysły?

 

 

const express    = require('express');
const bodyParser = require('body-parser');
const app        = express();
const morgan     = require('morgan');

app.use(morgan('dev')); 
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());

const port = process.env.PORT || 9090;

const mongoose   = require('mongoose');
mongoose.connect('mongodb://localhost/db'); 
const router = express.Router();

app.use(function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
  next();
});

router.get('/', function(req, res) {
    res.json({ 
    "get | post": "/users"
   });  
});

app.use('/api', router);
require('./routes/users')(app,router);

app.listen(port);
console.log('Started server on port ' + port);

 

users.js

 


const User = require('../models/user');

module.exports = function(app, router){
    app.post('/api/users',function(req, res) {
        var user = new User();
        user.name = req.body.name;
        user.surname = req.body.surname;
        user.email = req.body.email;
        user.age = req.body.age;
        user.login = req.body.login;
        user.password = req.body.password;
        user.created_at = req.body.created_at;
        user.update_at = req.body.update_at;
        user.save(function(err) {
            if (err)
                res.send(err);
            res.json({ 
                name: user.name,
                surname: user.surname,
                email: user.email,
                age: user.age,
                login: user.login,
                password: user.password,
                update_at: user.update_at,
                created_at: user.created_at
            });
        });
    })
    app.get('/api/users',function(req, res) {
        User.find(function(err, users) {
            if (err)
                res.send(err);

            res.json(users);
        });
    });
}

user.service.ts

 

import { Observable } from 'rxjs/Observable';
import { Http, RequestOptions, Headers } from '@angular/http';
import { Injectable } from '@angular/core';
import { db_url } from './../../../assets/db_url';
import { User } from './../../../assets/interfaces/db.interface';
import 'rxjs/add/operator/catch';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/toPromise';
@Injectable()
export class UserService {

    constructor(private _http: Http) {}
    registerUser(user_data: User): Observable<any>{
        let headers = new Headers({ 'Content-Type': 'application/json' });
        let options = new RequestOptions({ headers: headers });
        let url = "http://localhost" + db_url + "/users";
        return this._http.post( url,  user_data , options )
                        .map(data => data.json())
                        .catch(err => err);
    }
}

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+2 głosów
2 odpowiedzi 128 wizyt
+1 głos
1 odpowiedź 74 wizyt
0 głosów
0 odpowiedzi 66 wizyt
pytanie zadane 22 października 2020 w JavaScript przez creend Gaduła (4,700 p.)

86,484 zapytań

135,239 odpowiedzi

300,481 komentarzy

57,230 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...