Tôi đang viết lại một trang web hiện có bằng cách sử dụng Node.js với Express.Thiết lập các tuyến REST trong Express JS cho Ajax chỉ để sử dụng với Backbone
Mặt trước của trang web sẽ sử dụng Backbone JS và do đó tôi cần phải có tất cả các tuyến đường cần thiết tuân thủ đồng bộ hóa Backbone gốc. Bây giờ hầu hết các URL của khách hàng và cho Backbone đồng bộ sẽ giống nhau. Nhưng chúng sẽ không hoạt động với GET bình thường vì chúng cần trả về JSON.
Vì vậy, tôi nghĩ, nó sẽ là một ý tưởng tốt để thêm phần mở rộng để dựng mô hình URL/Bộ sưu tập trong Backbone, chẳng hạn như .json
, và trong Express để có điều này cho tất cả các tuyến đường:
app.get('/p/:topCategory/:category/:product.:format', function(req, res) { ... });
đâu if (req.params.id == 'json')
hơn chúng tôi gửi JSON, nếu không chúng tôi sẽ hiển thị HTML?
Hoặc có cách tiếp cận tốt hơn không? Hãy giúp tôi.
Cảm ơn bạn đã trả lời. Tuy nhiên, tôi không tìm thấy res.format() trong tài liệu Express. Nhưng tôi tìm thấy req.is ('html') hoặc req.is ('json'). Tôi đoán một trong hai nên làm việc nhưng res.format() trông tốt hơn như là chức năng của nó và tôi không cần phải sử dụng nếu/else nếu cho res.is(). –
Nó không có trong tài liệu vì Express 3.x là mới và trang web cần phải được cập nhật (điều đó sẽ xảy ra rất sớm như xa như tôi biết). – alessioalex
voilà: http://expressjs.com/api.html#res.format – UpTheCreek