在单击事件时更新主干模型,并在更改位置之前等待响应
Update backbone model on click event and wait for response before changing location
我想在用户单击链接时更新主干模型。我目前拥有的代码是:
$('a').on('click', function(){
// prevent default
event.preventDefault();
var id = $this.data('id');
// update backbone model
var click = new ClickModel({ "id": id });
var response = click.save();
// alert('testing');
if(response.status = 200)
{
return true;
}
});
但是,在 url 更改之前,不会更新数据库。如果我添加警报,它可以工作。在模型保存完成之前防止位置更改的最佳方法是什么?
来自精细手册:
保存
model.save([attributes], [options])
[...]
save 接受options
哈希中的success
和error
回调,这些回调分别作为参数传递(model, response, options)
和(model, xhr, options)
。
因此,您可以通过说以下内容来等待服务器完成:
click.save(null, {
success: function(model) {
// Do something interesting.
}
});
当然save
仍然是 AJAX 调用,所以你的"有趣的事情"稍后会发生。您可以强制save
同步,但这对用户来说是一件邪恶的事情,所以我不会向您展示如何。
相关文章:
- 在网站中处理 SQL 响应的位置
- 鼠标在HTML 5响应画布中的位置
- 位置问题:固定和响应/自适应布局
- 如何从 jQuery Get 获取响应标头位置
- 在单击事件时更新主干模型,并在更改位置之前等待响应
- 应用 API 响应转换的最佳位置
- Ajax响应更改位置
- 响应性”;类似砖石的“;不使用砖石的柱(尽量避免位置:绝对;)
- 如何获取ajax请求响应中存在的图像的位置,并使用位置绘制线
- jQuery工具提示卡在页面左侧,对放置/位置没有响应
- 如何将元素放置在不同的位置(响应)
- 使用javascript检索响应的头(位置)值
- 重新加载方法:响应文本与窗口.位置.href(1 次旅行与 2 次)
- 固定位置的响应图像周围的内容
- 位置Div在背景图像的顶部(覆盖/响应)
- 处理跨域REST响应的301和位置标头
- 我想在jQuery中如何从响应头获得位置属性
- 位置图标跟随响应的背景图像
- 获取Div位置与响应式布局
- 我怎么能有一个响应高度与绝对位置子元素