He estado revisando muchos tutoriales de jQuery ajax e intentando incorporarlo con mi Play! aplicación, pero no estoy entendiendo algunas cosas. Es posible que alguien pueda explicar cómo hacer lo siguiente a través de llamadas Ajax:¡Ajax simple con Play!
1) Supongamos que quiero recuperar una lista de Contactos de un controlador (cada Contacto tiene nombre, teléfono, correo electrónico). ¿El controlador necesita "construir" la respuesta adecuada para la plantilla? ¿Cómo se ve el controlador? ¿Qué aspecto tiene el javascript para recuperarlo?
2) Para agregar/actualizar un nuevo contacto a través de una llamada ajax, ¿cómo se ve el javascript?
Aquí es el código para un ejemplo de la explicación anterior (no usando ajax):
controlador:
public static void list() { List contacts= Contact.fetchAll(); render(contacts); } public static void add(String name, String phone, String email) { Contact contact = new Contact(); contact.name = name; contact.phone = phone; contact.email = email; contact.save(); } public static void update(Long id, String name, String phone, String email) { Contact contact = Contact.findById(id); contact.name = name; contact.phone = phone; contact.email = email; contact.save(); }
Plantilla (listas de todos los contactos) :
#{list contacts, as:'contact'} ${contact.name} ${contact.phone} ${contact.email} #{/list}
Plantilla (Añadir contacto):
#{form @Contacts.add(), id:'form'}
<input type="text" name="name" />
<input type="text" name="phone" />
<input type="text" name="email" />
<input type="submit" value="Add" />
#{/form}
"Que debería parecerse?" - Bueno, yo preferiría algo que sea lujoso, tenga orejas grandes y ... oh, espera, ¿no estamos hablando de osos de peluche? Bueno, luego publique su código, para que podamos tener una idea de cómo se ve ahora. –
Ok, juego de controlador y código de plantilla para el ejemplo (sin utilizar ajax). – agentcurry