0

我有一个 javascriptMVC 模型

/**
 * @class Hzfrontend.Models.Warmwasser
 * @parent index
 * @inherits jQuery.Model
 * Wraps backend warmwasser services.  
 */
$.Model('Hzfrontend.Models.Warmwasser',
/* @Static */
{
    findAll: "/api/warmwasser",
    findOne : "/api/warmwasser/{id}",
    update : "/api/warmwasser/{id}"
},
/* @Prototype */
{
    update : function(attrs, success, error){
        $.ajax({
            type: 'PUT',
            url:"/api/warmwasser/"+this.id,
            data: $.toJSON(this), 
            success: success,
            error: error,
            dataType: "json"});
    }
});

和一个控制器:

$.Controller('Hzfrontend.Warmwasser.List',
/** @Static */
{
    defaults : {}
},
/** @Prototype */
{
    init : function(){
        this.element.append(this.view('init',Hzfrontend.Models.Warmwasser.findAll()) )
    },
    '.waterTemperature change': function( el ){
            var mod = el.closest('.warmwasser').model();
            mod.attr('waterTemperature', el.val());
            mod.update();
            steal.dev.log("update waterTemperature");
    },
    "{Hzfrontend.Models.Warmwasser} updated" : function(Warmwasser, ev, warmwasser){
        warmwasser.elements(this.element)
              .html(this.view('warmwasser', warmwasser) );
        steal.dev.log("updated");
    }
});

更新完成后,我想在控制器中调用更新的回调。这个怎么做?如果我使用 ./fixtures/fixtures.js' 在没有服务器后端的情况下测试应用程序,它可以正常工作。

谢谢。

4

2 回答 2

0

该代码应该可以工作。您从服务器返回什么作为响应?您应该返回一个带有您更新的对象的 JSON 响应。

于 2011-10-10T02:40:28.517 回答
0

您不应该有原型更新方法。

于 2011-10-18T06:51:28.710 回答