节点服务器端执行骨干删除命令,但前端未触发同步事件
Backbone delete command executes on the Node server but no sync event is fired on the frontend
从骨干同步发出删除命令后,我没有得到同步事件,虽然节点服务器执行命令并从MongoDB删除条目。这是前端(主干)的相关代码:
handleDeleteCar: function (carId) {
Backbone.sync("delete", cars.get(carId), {url:'/api/cars/' + carId});
cars.remove(cars.get(carId));
},
和后端(Node):
app.delete('/api/cars/:id', function (req, res) {
var carImage = Car.findById(req.params.carId)._carImage;
Car.remove({ _id : req.params.id } , function (err){
if (!err){
console.log("Cars deleted");
Image.remove({_id:carImage}, function (err){
if (!err)
console.log("Image deleted");
res.json({"status":"O.K."});
});
}
});
});
正如我所说的一切都很好,除了我在浏览器中没有得到同步事件。我正在为我使用的每个其他动词(get, post和put)获取此事件。我尝试了从服务器返回不同的值,但无济于事。
你不应该使用Backbone。直接同步。正确的方法是将集合url
设置为'/api/cars/',并调用model.destroy()
:
var Cars = Backbone.Collection.extend({
url: '/api/cars/',
/* ... */
});
/* ... */
handleDeleteCar: function (carId) {
cars.get(carId).destroy()
}
相关文章:
- 分派点击事件并保留击键修饰符
- 模糊事件的Javascript测试
- keyup事件处理程序更改焦点不适用于快速键入
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 可以前端maven插件使用节点,npm已经安装
- 如何使Javascript动态html表及其上的事件
- 使用类从一个标记中双击事件
- 如何在未直接触发的情况下停止事件
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- 对iPad上的点击事件反应缓慢
- 事件和状态
- Fancybox是否将Click事件静音
- 主干-不管怎样,检查事件以前是否绑定过
- 从控制器返回后Ajax启动事件激发
- 如何访问Bokeh's数据并从外部触发前端上的事件
- 服务器发送事件未正确(刷新?)使用Flask和Redis与nginx前端
- 使用 onLoad 事件提高前端性能
- 表单事件顺序-在前端使用表单数据
- 游戏在浏览器.处理事件的位置:在前端或后端
- 节点服务器端执行骨干删除命令,但前端未触发同步事件