Webix学习笔记-创建一个基本应用程序-06-和服务器交互之Update

上几篇学习了CRU,这一节学习Update,Update稍微要麻烦一点,需要先到后台获取到需要更新的对象,再对这个对象进行修改,代码如下:

第一步:在服务端新建updateMovWithJson闭包


def updateMovWithJson = {
    def resultAsJson = [result: "success", message: "The mov has been update."]
    def movInstance = Mov.get( params.id )
    if(!movInstance) {
        resultAsJson.result = "fail"
        resultAsJson.message = "Database error, failed to find the mov."
    }

    movInstance.properties = params
    if(!movInstance.save(flush: true)) {
        resultAsJson.result = "fail"
        resultAsJson.message = "failed to update the mov."
    }

    render resultAsJson as JSON
}

第二步:修改客户端update_row


function update_row() {
    var sel = $$("mylist").getSelectedId(); //checks whether the item is selected
    if(!sel) return; // if not, function execution is stopped
    var values = $$("myform").getValues();
    var value1 = values.title; 
    var value2 = values.year;

    webix.ajax().post("updateMovWithJson", values, function(text,data) {
        webix.message(data.json().message);
    });

    for (var i = 0; i < sel.length; i++){
        var item = $$("mylist").getItem(sel[i]); //for every selected item
        item.title = value1; //setting values for list item
        item.year = value2;
        $$("mylist").updateItem(sel[i], item); //updating
    }
}

你可能感兴趣的:(Webix学习笔记-创建一个基本应用程序-06-和服务器交互之Update)