2012-06-23 58 views
32

Tôi đang tạo biểu mẫu đăng ký (hộ chiếu địa phương làm xác thực, biểu mẫu dưới dạng trợ giúp biểu mẫu).Express.js nhận được phương pháp http trong bộ điều khiển

Vì đăng ký chỉ biết GET và POST tôi muốn thực hiện toàn bộ việc xử lý trong một hàm.

Với Nói cách khác tôi đang tìm kiếm sau khi một cái gì đó như:

exports.register = function(req, res){ 
    if (req.isPost) { 
     // do form handling 
    } 
    res.render('user/registration.html.swig', { form: form.toHTML() }); 
}; 

Trả lời

61

Câu trả lời là khá dễ dàng

exports.register = function(req, res) { 
    if (req.method == "POST") { 
     // do form handling 
    } 
    res.render('user/registration.html.swig', { form: form.toHTML() }); 
}; 

Nhưng tôi đã tìm kiếm một thời gian dài cho cách tiếp cận này trong hướng dẫn rõ ràng.

Cuối cùng các tài liệu nút có thông tin chi tiết như: http://nodejs.org/api/http.html#http_http_request_options_callback

+5

Đúng vậy. Thật đáng tiếc là tài liệu express.js đã bỏ lỡ những thứ này ở đây http://expressjs.com/api.html#req.params và nó không đề cập đến tài liệu của thư viện tích hợp NodeJS, điều này thực sự cần thiết. –

+4

Xin chào, cảm ơn bạn đã đăng giải pháp này. Đối với tôi, mặc dù, để làm cho công việc logic như bạn đã liệt kê ở đó, tôi đã phải thực hiện tuyên bố IF của tôi theo cách này: 'if (req.method! = 'GET')' – gnB

Các vấn đề liên quan