2012-07-29 25 views
7

Tôi đang tìm một ví dụ đơn giản về trang Node/Express/Jade đang được cập nhật bằng cách sử dụng cuộc gọi Ajax với cả mã phía máy khách và máy chủ.Ví dụ về Node, Express, Ajax và Jade

Tôi đang gặp một chút rắc rối khi kết hợp tất cả lại với nhau trong đầu.

Trả lời

4

Có rất nhiều cách có thể thực hiện được và không rõ ràng phương pháp tiếp cận nào bạn muốn thực hiện.

Tôi cho rằng kịch bản đơn giản nhất là thêm một số logic phía máy khách để tìm nạp mẩu html từ máy chủ và cập nhật ứng dụng khách. Đây có thể dễ dàng đạt được sử dụng jQuery (đặt nó bên trong một khối sẵn sàng tài liệu để dây lên sự kiện này):

$('#button').click(function() { 
    $.get('/some/url', {foo: 42}, function(result) { 
     $('#target').html(result); 
    } 
} 

Bằng cách này tất cả html của bạn được tạo ra trên máy chủ và bạn chỉ cần lấy và chèn nó vào trang khi cần thiết .

Bạn cũng có thể tìm nạp json từ máy chủ và hiển thị html trên máy khách, nhưng đó là một trong các phương pháp thay thế. Tôi khuyên bạn nên đưa ra một cái nhìn - đó là một ứng dụng danh sách cần làm với nhiều triển khai khác nhau (mỗi khung sử dụng một khung công tác khác nhau) và do đó là một tài nguyên học tập tuyệt vời cho các phương pháp tiếp cận và thư viện trợ giúp khác nhau.

Tôi cũng muốn giới thiệu sách Hands-on Node.js. Nó sẽ giúp bạn hiểu định tuyến và cách bắt đầu với Nút.

+0

Cảm ơn Morten. Tôi hiểu định tuyến trong nút phạt. Tôi đánh giá cao ví dụ bạn đã đưa ra ở trên, nhưng về phía máy chủ thì sao? Tôi có vượt qua một mẫu ngọc bích để yêu cầu ajax? những gì về partials? –

+0

Bạn làm tương tự cho tất cả các yêu cầu phía máy chủ, ngoại trừ một số url sẽ ánh xạ tới trình xử lý hiển thị chế độ xem một phần. Đó có thể chỉ là một mẫu Jade thông thường, ngoại trừ việc nó sẽ chỉ bao gồm đánh dấu bạn muốn hiển thị (và không phải là toàn bộ trang html). –

+0

@MortenMertner Để hiển thị chế độ xem từng phần đó hoặc gọi hàm phía máy chủ, tuyến đường AJAX ví dụ sẽ là gì từ phía máy khách? –