有这么一个问题一直困扰着我。。。。
比如我js里调api更新了下数据库,然后在ajax的回调函数里判断,如果更新成功则对前端的显示也进行相应更新,但更新后的数据库数据并没有随api返回给我,我觉得也没必要完成一次更新就查询返回更新的结果,这样数据库开销太大了吧。
我现在一般这么写:
var data = { ... };
var url = ...;
ajax_call("PUT",url, data, function(json){
if (json.status == "success") {
// 这里居然可以访问到 data 。。。
}
});
1. 这个回调函数里怎么能访问到data呢???这应该不在一个域了吧,还是我的理解有问题?
2. 虽然这么写能成功,总是感觉不太正规。上次看 Trello的技术构架
http://blog.fogcreek.com/the-trello-tech-stack/ 这文章,里面介绍的前端MVC框架 backbone,是否使用这种类似的框架可以通过事件机制来达到“数据库更新后前端也随之更新”这样的效果?
不知道我的表达大家明白不。。。