我正在尝试使用easyXDM覆盖主干模型获取功能,使用easyXDM的原因是因为服务器位于不同的域中。
这是获取代码:
fetch: function(options)
{
model = this;
a = true;
this.xhr.request({
url: "http://server.dev:9000/users/" + this.id,
method: "GET"
}, function(response){
console.log(response.data);
var jsonResponse = JSON.parse(response.data);
if (jsonResponse.status == 'success'){
model.set({
firstName : jsonResponse.data.first_name,
lastName : jsonResponse.data.last_name,
email : jsonResponse.data.email,
companyName : jsonResponse.data.company.name,
companyId : jsonResponse.data.company.id
})
}
});
}
这是控制器上获取模型的代码
var user = new UserModel({id : id});
user.fetch();
alert(user.get('firstName')); // display undefined
所以问题是每当我调用 fetch 时,模型仍然没有被填充。我在想,因为 easyXDM 请求是异步的,所以它还没有填充。无论如何要确保模型已填充并可以使用?也许使用回调,关于如何创建回调的任何方向?