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));
}
});
};
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich endlich die Lösung gefunden ! Die Frage war irgendwo 18inches hinter dem Bildschirm....
Ich veränderte den Winkel-application-controller wie diesem :
Der trick ist, dass mein REST-api zurückgegeben, die den erzeugten job als json-Objekt, und ich war den Umgang mit es wie es ein Fehler ! Also, jedes mal, wenn ich eine Aufgabe erstellt Objekt, wurde ich zurückgegeben wird ein json-Objekt, und so war es nicht null ist, wird der log-Nachricht ausgelöst wurde und ich war noch nie umgeleitet.
Außerdem, ich verwende jetzt die
$window.location.href
Eigenschaft komplett die Seite neu laden.InformationsquelleAutor GuillaumeA