我有一个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'来测试没有服务器后端的应用程序,它可以毫无问题地工作。
感谢。
答案 0 :(得分:0)
该代码应该有效。您从服务器返回什么回复?您应该使用您更新的对象返回JSON响应。
答案 1 :(得分:0)
你不应该有原型更新方法。