AngularJS Umleitung nach ng-klicken Sie auf

Habe ich eine REST API Auslesen/speichern von Daten aus einer MongoDB-Datenbank.
Die Anwendung, die ich verwenden, ruft ein Formular, und erstellen Sie ein Objekt (ein Auftrag), dann speichern Sie es in der DB. Nach dem Formular habe ich eine Schaltfläche click-Ereignis löst die speichern-Funktion meines Controllers, so leitet zu einer anderen url.

Sobald ich auf den button klicken, ich bin sagte, dass der job hat auch Hinzugefügt worden, um die DB, aber die Anwendung ist überfüllt und die Umleitung wird nie aufgerufen. Allerdings, wenn ich neu laden meiner Anwendung, ich kann sehen, dass der neue "job" hat auch Hinzugefügt worden, um die DB. Was ist daran falsch ??? Danke !

Hier ist mein code:

Beispiel-html(jade) code:

button.btn.btn-large.btn-primary(type='submit', ng:click="save()") Create

Steuerung des Winkel-Modul:

function myJobOfferListCtrl($scope, $location, myJobs) {

    $scope.save = function() {
        var newJob = new myJobs($scope.job);
        newJob.$save(function(err) {
            if(err)
                console.log('Impossible to create new job');
            else {
                console.log('Ready to redirect');
                $location.path('/offers');
            }
        });     
    };    
}

Konfiguration des Winkel-Modul:

var myApp = angular.module('appProfile', ['ngResource']);

myApp.factory('myJobs',['$resource', function($resource) {
    return $resource('/api/allMyPostedJobs',
            {},
            {
                save: {
                    method: 'POST'
                }   
            });
}]);

Routing in meinem nodejs Anwendung :

app.post('/job', pass.ensureAuthenticated, jobOffers_routes.create);

Und schließlich die Steuerung von mein-REST-API:

exports.create = function(req, res) {
    var user = req.user;
    var job = new Job({ user: user, 
                        title: req.body.title,
                        description: req.body.description,
                        salary: req.body.salary,
                        dueDate: new Date(req.body.dueDate),
                        category: req.body.category});
    job.save(function(err) {
        if(err) {
            console.log(err);
            res.redirect('/home');
        } 
        else {
            console.log('New job for user: ' + user.username + " has been posted."); //<--- Message displayed in the log    
            //res.redirect('/offers'); //<---- triggered but never render
            res.send(JSON.stringify(job));
        }
    });
};
Ist ein POST zu dem "job" (vs-api/allMyPostedJobs) Endpunkt jemals genannt? Wenn nicht, dann bin ich mir nicht sicher wie der code speichert auch nichts in die db.
Ja, ich habe dies in der log : Neuer job für user XXX wurde gebucht. Und außerdem ist die post in der DB, wenn ich den server neu starten, Anwendung...
Nur clearify, das Protokoll nicht display die Meldung "Ready to redirect', die dabei auftreten können, kurz bevor die Umleitung von $Speicherort.Pfad().

InformationsquelleAutor GuillaumeA | 2013-10-10

Schreibe einen Kommentar