Salut donc j'essaye de faire une petite base de donnée et ceux entre mongodb et angular, mais lorsqu'angular est censé envoyé les données l'url est par retrouvé (erreur 404). Du coup je sais plus quoi faire ...
Le serveur est codé en node + express.

Pour le coté serveur j'ai :

(index.js)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var express = require('express');
var router = express.Router();
/*
 * GET home page.
 */
 
router.get('/', function (req, res, next) {
    res.render('index');
});
router.post('/create', function (req, res) {
    console.log(req.body.login);
    console.log(req.body.password);
    pingdb.collection('users').find({
        login: req.body.login,
        password: req.body.password
    }).toArray(function (err, user) {
        if (err != null) {
            console.log("Erreur pendant la requete sur l'utilisateur!");
            console.log(err);
            return;
        } else if (user.length != 1) {
            console.log("l'utilisateur n'a pas été trouvé !");
            var user = {
                _id: mongo.ObjectID.createPk(),
                login: req.body.login,
                password: req.body.password
            };
            pingdb.collection('users').insert([user], function (err, result) {
                if (err != null)
                    console.log(err);
                console.log("L'utilisateur a été ajouté en BDD !")
                res.render('home', {
                    login: req.body.login,
                    login_id: user._id
                });
            });
        }
    });
});
module.exports = router;
dans app.js

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/**
 * Module dependencies.
 */
var express = require('express');
var http = require('http');
var path = require('path');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var favicon = require('serve-favicon');
var logger = require('morgan');
 
var routes = require('./routes/index');
 
var app = express();
 
// all environments
//app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
app.use(favicon(__dirname + '/public/images/favicon.ico'));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
 
app.use(express.static(path.join(__dirname, 'public')));
 
app.get('/', routes);
/*
*Initialisation BD
*/
var mongo = require('mongodb'),
    assert = require('assert');
var MongoClient = mongo.MongoClient;
 
var url = 'mongodb://localhost:27017/pingeet';
var pingdb = null;
MongoClient.connect(url, function (err, db) {
    assert.equal(null, err);
    pingdb = db;
    console.log("Connected correctly to server");
});
module.exports = app;
(le serveur en lui meme est créé par node)

et mon angular :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
'use strict';
var addUser = angular.module('addUser', []);
addUser.controller('addUser_Ctrl', ['$scope', '$http',
    function ($scope, $http) {
        $scope.addNewUser = function () {
            var username = $scope.username.trim(); // .trim() allow to remote the useless spaces at the beginning and the end of the characters string
            var password = $scope.password;
            if (!username.length || !password.length) // avoid empty
            {
                return;
            }
            var newUser = $scope.newUser = {
                login: username,
                password: password
            };
            $http.post('/create',{login:newUser.login,password:newUser.password});
            $scope.username = '';
            $scope.password = '';
        };
    }]);
Je précise aussi que la BD ce connecte sans probleme et que les cannaux sont ouverts .. bref je comprend pas ce qui lui va pas ...