Pracuję nad ponownym zapisaniem istniejącej strony internetowej za pomocą Node.js z Expressem.Konfigurowanie tras REST w Express JS dla Ajax tylko do użycia z Backbone
Przednia strona witryny będzie korzystała z usługi Backbone JS, a zatem muszę mieć wszystkie niezbędne trasy zgodne z natywną synchronizacją kręgosłupa. Teraz większość adresu URL klienta i synchronizacji Tarcza będzie taka sama. Ale nie będą działać dla regularnego GET, ponieważ będą musiały zwrócić JSON.
Więc myślę, że będzie to dobry pomysł, aby dodać rozszerzenie do modelu URL/kolekcję w kręgosłup, takie jak .json
, aw Express mieć to dla każdej trasy:
app.get('/p/:topCategory/:category/:product.:format', function(req, res) { ... });
Gdzie if (req.params.id == 'json')
niż wysyłamy JSON, w przeciwnym razie renderujemy HTML?
Czy istnieje lepsze podejście? Proszę pomóż.
Dzięki za odpowiedź. Nie znalazłem jednak res.format() w Express docs. Ale znalazłem req.is ('html') lub req.is ('json'). Zgaduję, że albo powinien działać, ale res.format() wygląda lepiej, ponieważ jest to funkcja i nie potrzebuję używać, jeśli/else jeśli dla res.is(). –
Nie jest to jeszcze w dokumentacji, ponieważ Express 3.x jest nowy i strona wymaga aktualizacji (stanie się to wkrótce, o ile wiem). – alessioalex
voilà: http://expressjs.com/api.html#res.format – UpTheCreek