2012-07-29 12 views
7

Estoy buscando un ejemplo simple de una página Node/Express/Jade que se actualiza utilizando una llamada Ajax con el código del lado del cliente y del servidor.Nodo, Express, Ajax y Jade Ejemplo

Estoy teniendo problemas para poner todo junto en mi cabeza.

Respuesta

4

Hay muchas formas en que esto se puede hacer y no es inmediatamente evidente qué enfoque desea tomar.

Supongo que el escenario más simple sería agregar alguna lógica del lado del cliente para buscar fragmentos de html del servidor y actualizar el cliente. Esto se logra fácilmente usando jQuery (ponerlo dentro de un bloque de lista de documentos que cablear el evento):

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

esta manera toda su html se genera en el servidor y sólo tiene que traer y la inserta en la página según sea necesario .

También puede obtener json del servidor y procesar el html en el cliente, pero ese es uno de los enfoques alternativos. Recomiendo dar un vistazo a TodoMVC: es una aplicación de tareas pendientes con muchas implementaciones diferentes (cada una usando un marco diferente) y, por lo tanto, es un excelente recurso de aprendizaje para los diversos enfoques y bibliotecas de ayuda.

También recomendaría el libro Hands-on Node.js. Le ayudará a comprender el enrutamiento y cómo comenzar con Node.

+0

Gracias Morten. Entiendo el enrutamiento en nodo fino Aprecio el ejemplo que dio anteriormente, pero ¿qué pasa con el lado del servidor? ¿Paso una plantilla de jade a la solicitud de Ajax? ¿Qué hay de los parciales? –

+0

Hace lo mismo para todas las solicitudes del lado del servidor, excepto que algunas direcciones URL se asignarán a los controladores que muestran una vista parcial. Esa podría ser una plantilla de Jade normal, excepto que solo incluirá el marcado que desea representar (y no el html de página completa). –

+0

@MortenMertner Para renderizar esa vista parcial, o para llamar a la función del lado del servidor que lo hace, ¿qué sería una ruta AJAX de ejemplo desde el lado del cliente? –

Cuestiones relacionadas