jquery – 简单的ajax玩!

前端之家收集整理的这篇文章主要介绍了jquery – 简单的ajax玩!前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在筛选许多jQuery ajax教程,并尝试将其与我的Play相结合!应用程序,但我不太了解一些东西.有可能有人可以通过Ajax调用解释如何执行以下操作:

1)假设我想从控制器检索联系人列表(每个联系人都有姓名,电话和电子邮件).控制器需要“构建”模板的正确响应吗?控制器是什么样的? javascript看起来如何检索?

2)要通过ajax调用添加/更新新的联系人,那么JavaScript是什么样的?

以下是上述说明的示例代码(不使用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 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}

解决方法

我不熟悉Play方面的东西,但如果您想通过Ajax调用检索一些JSON数据,则控制器可能看起来像:
public static void getContacts() {
    List<Contact> contacts = // get contacts here...
    renderJSON(contacts);
}

检索JSON数据的jQuery将如下所示:

// the getJSON function automatically parses the returned JSON
// data into a JS data structure
$("#retrieve_contacts").click(function(event) {
    $.getJSON("/url/which/calls/controller/",function(contacts) {
        // do something with contacts list here...
    });
});

添加/更新联系人,您可以执行以下操作:

// call the controller to add the relevant contact with
// the info in the second param:
$("#add").click(function(event) {
    var newcontact = {
        name: $("input[name='name'").val(),phone: $("input[name='phone'").val(),email: $("input[name='email'").val(),};

    $.post("/url/which/adds/new/contact/",newcontact,function(data) {
        alert("Contact added!");
    });
});

你显然想添加很多错误处理. $.getJSON和$.post功能是更灵活的$.ajax的快捷键.查看更多选项.

猜你在找的jQuery相关文章