2012-07-29 16 views

Odpowiedz

4

Istnieje wiele sposobów, w jakie można to zrobić i nie jest od razu oczywiste, jakie podejście należy podjąć.

Przypuszczam, że najprostszym scenariuszem byłoby dodanie logiki po stronie klienta, aby pobrać fragmenty html z serwera i zaktualizować klienta. Można to łatwo osiągnąć za pomocą jQuery (umieścić go wewnątrz dokumentu gotowego bloku drut zdarzenie):

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

ten sposób wszystkie swoje HTML jest generowany na serwerze i po prostu pobrać i wstawić go na stronę, ile potrzeba .

Można również pobrać json z serwera i renderować HTML na kliencie, ale jest to jedno z alternatywnych podejść. Gorąco polecam, aby dać TodoMVC spojrzenie - jest to aplikacja do listy zadań z wieloma różnymi implementacjami (każda używa innej struktury), a zatem doskonałym źródłem do nauki dla różnych podejść i bibliotek pomocniczych.

Polecam również książkę Hands-on Node.js. Pomoże Ci zrozumieć routing i zacząć korzystać z Węzła.

+0

Dzięki Morten. Rozumiem routing w grzywnie węzła. Doceniam przykład, który podałeś powyżej, ale co ze stroną serwera? Czy mogę przekazać szablon jade do żądania ajax? co z częściami? –

+0

Robisz to samo dla wszystkich żądań po stronie serwera, z tym że niektóre adresy URL będą mapować do programów obsługi, które renderują częściowy widok. Może to być zwykły szablon Jade, z wyjątkiem tego, że będzie zawierał jedynie znaczniki, które chcesz renderować (a nie cały HTML strony). –

+0

@MortenMertner Aby renderować ten widok częściowy lub wywoływać funkcję po stronie serwera, jaka jest przykładowa trasa AJAX od strony klienta? –