将动态ID传递到成功主干上的url
Pass dynamic ID to url on success backbone
我在点击时获得我的id,我使用destroy在我的数据库中删除它,我的id console.log工作并返回值,但我想在url上传递这个id,如下所示:
'delete': 'http://localhost:3000/api/comments/'+ id
错误:Id未定义,我不能把它传给成功的人。
这是我的代码:
var PostPrimary = Backbone.Model.extend({
methodToURL: {
'read': 'http://localhost:3000/api/comments',
'create': 'http://localhost:3000/api/comments',
'update': 'http://localhost:3000/api/comments/:comment_id',
'delete': 'http://localhost:3000/api/comments/:comment_id'
},
sync: function(method, model, options) {
options = options || {};
options.url = model.methodToURL[method.toLowerCase()];
return Backbone.sync.apply(this, arguments);
},
idAttribute: "_id",
defaults: {
title: '',
content: ''
},
postdata: function() {
this.save({
name: this.get('title'),
content: this.get('content')
}, {
success: function(model) {
console.log("save");
}
});
},
deletedata: function() {
this.destroy({
success: function(model) {
//GET ID
id = model.get('idAttribute');
console.log(id);
}
});
}
});
return PostPrimary;
Backbone模型附带了处理url的实现,您不需要在模型中使用methodtoURl属性。
为您的模型指定urlRoot
,id将由主干(如[urlRoot]/id
)附加
你的模型可以简化为
var PostPrimary = Backbone.Model.extend({
idAttribute: "_id",
urlRoot: 'api/comments',
defaults: {
title: '',
content: ''
}
});
像Postdata这样的属性是不需要的,你可以直接说
Model.save() instead postdata, and model.destroy() instead deletedata()
如果您的模型中没有id,您可以创建一个闭包。
deletedata: function() {
var id=this.get('idAttribute');
this.destroy({
success: function(model) {
//GET ID
console.log(id);
}
});
}
相关文章:
- 使用GET方法通过AJAX成功提交表单后更改url
- 将动态ID传递到成功主干上的url
- Ajax - 在“成功”之后转到另一个页面,从那里的URL中检索用户ID
- Wierd文本:“#_=_”在成功登录Facebook后显示在URL上 春季社交
- 如何等待所有的url完成并抛出成功的msg-nodejs
- 我是javascript的新手,我正在从url获取JSON数据,我只能在成功函数中访问数据,我错过了什么
- 两个ajax请求url(成功/失败)
- ajax成功时隐藏url和参数
- getJSON:如何尝试在每0.5秒内获取一些url直到成功
- 使用JQuery以不可见的方式调用URL并返回成功/错误标志
- 递归事务中的默认成功 URL 是什么
- React路由器:获取一个登录成功的url,并传递一个令牌,然后重定向到主页
- 在远程URL加载成功后获取内容
- 模型.保存设置url并在成功时进行回调
- Ajax POST调用不能正常工作,返回错误代码0,即使url POST成功
- Ajax错误地成功从不正确的URL获取
- 如何在成功安装Firefox插件时调用API url
- JQuery Ajax返回成功与不存在的url参数
- Ajax请求成功,但无论如何都会继续到目标url
- 如何改变url成功后,在ajax没有页面重新加载