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)
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 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;
(le serveur en lui meme est créé par node)
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;
et mon angular :
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 ...
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 = ''; }; }]);
Partager