Простой ajax с Play!

Я просмотрел множество руководств по jQuery ajax и попытался включить их в свой Play! app, но я не совсем понимаю некоторые вещи. Возможно ли, чтобы кто-нибудь объяснил, как делать следующее с помощью вызовов Ajax:

1) Предположим, я хочу получить список контактов с контроллера (у каждого контакта есть имя, телефон, адрес электронной почты). Нужно ли контроллеру «построить» правильный ответ для шаблона? Как выглядит контроллер? Как выглядит javascript для его получения?

2) Как выглядит javascript для добавления / обновления нового контакта через вызов ajax?

Вот код для примера объяснения выше (без использования ajax):


Контроллер:

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();
}


Шаблон (список всех контактов):

#{list contacts, as:'contact'}

    ${contact.name}
    ${contact.phone}
    ${contact.email}

#{/list}


Шаблон (добавление контакта):

#{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}
10
задан agentcurry 24 November 2010 в 21:06
поделиться