2011-08-24 56 views
0

你好我有一个节省了主干模型从PHP获取返回值与Backbone.js的

public function generate() 
    { 
     //Converts JSON object to array 
     $data = decode(TRUE); 
     $this->load->library('db_models',$config=array('localhost', 'user', '343boys')); 
     $data = $this->db_models->getFields($data['database'],$data['table']); 
     //Converts $data to JSON object 
     $data = encode($data); 
     //Problem is here how to i assign this data back to my model. 
     return $data; 

    } 

我创建了一个JSON助手解码和服务器下面的CodeIgniter控制器的php代码编码,其将JSON分别将数组和数组分配给JSON。这没有问题,因为我用萤火虫测试过它们。 保存时代码可以正常工作,但当我尝试检索返回$ data时遇到了问题;功能完成保存后。

我的模型是像这样

var Table = Backbone.Model.extend({ 
    defaults:{ 
     'table':'mine', 
     'database':'db' 
}, 
     urlRoot : '/campusfeed/index.php/welcome/generate' 

    }); 
model.save(); 

因此,如何将我去通过函数保存价值和检索哪些函数返回不是笨neccessarilt。

回答

0

有几种选择。

model = new Table({ 
    table: 'yours' 
    ,database: 'database' 
}); 

model.save(null, {success: success}); 

model = new Table(); 
model.set({ 
    table: 'yours' 
    ,database: 'database' 
}); 
model.save(null, {success: success}); 

model = new Table(); 
model.save(
    { 
    table: 'yours' 
    ,database: 'database' 
    } 
    ,{success: success} 
); 

传递给model.save()的第一个目的是要改变属性的哈希值。第二个参数是选项散列。 success回调接收三个参数。更新后的模型,来自服务器的响应和xhr对象。成功的功能可以这样定义:

function success(model, response, xhr) { 
    console.log('model saved', model, response, xhr); 
}