2016-06-19 29 views
0

Wie kann ich einen Benutzer auf die Show-Aktion eines Dokuments/Posts umleiten, das er gerade mit express.js erstellt hat?Wie zum erstellten Dokument umgeleitet werden?

Hier ist der Code, den ich das Dokument erstellen bin mit:

app.post('/doc/create', docController.postCreate); 
app.get('/doc/:id', docController.getRecord); 

exports.postCreate = ((req, res, next) => { 

    const doc = new Doc({ 
    title: req.body.title 
    }); 

    doc.save(req.body, (err /*, result*/) => { 
    res.redirect('doc/{{{DOC_ID}}}'); // How can I get/pass the newly created ID 
    }); 

}); 
+0

Sie erhalten keine Doc-ID hier. Sie müssen einen Basis-DateTime-Stempel auf dem Server erstellen, oder alternativ können Sie den Titel des Dokuments übergeben und diese ID sollte zum Abrufen der Datei im Browser verwendet werden. –

+0

Ja, ich weiß, ich kann es dort nicht bekommen. Aber wie kann ich einen Verweis auf das Dokument erhalten, das ich erstelle? Können Sie mit dem von Ihnen gegebenen Beispiel konkreter sein? Neverless Ich werde versuchen, den Titel zu übergeben, während Sie speichern, wie Sie sagen ... Danke – agaezcode

+0

Ja! Das ist die Lösung. Ich werde den Zeitstempel + Titel in der POST-Aktion übergeben und die Datensätze nach Zeitstempel + Titel in der GET-Aktion abrufen. Vielen Dank @AkshayKhandelwal – agaezcode

Antwort

0

Die Datenbank Antwort die ID des erzeugten Artikel zurückgeben sollte.

// ucommment the result param 
doc.save(req.body, (err, result) => { 
    // ALWAYS handle errors! 
    if (err) return res.status(500).send('Internal server error'); 
    // hopefully, the id is at the root of the result object, else, find out where it is and use it 
    res.redirect('/doc/' + result.id); 
}); 
+0

ja! Basiert in meiner Lösung [oben] (http://stackoverflow.com/questions/37907615/how-to-redirect-to-created-doc/37911112#comment63270584_37907615), fand ich, dass ich es auf diese Weise lösen konnte, Wie auch immer, ich wie meine Lösung oben. Vielen Dank – agaezcode

Verwandte Themen