自定义主干.模型操作不起作用
Custom Backbone.Model action not working
基于在互联网上找到的大量资源,我正在尝试创建我的自定义模型操作,该操作将发送POST /api/v1/users/subscribe
请求。我的代码如下:
@UserModel = Backbone.Model.extend
urlRoot: '/api/v1/users'
subscribe: (opts) ->
url = "#{@urlRoot}/subscribe"
options =
url: @url
method: 'POST'
_.extend @options, opts
return (@sync or Backbone.sync).call this, null, this, @options
但是,当按如下方式使用时:
user = new UserModel
user.subscribe()
它发出GET /api/v1/users
请求。你能解释一下我的代码出了什么问题吗?几乎所有关于自定义方法的示例都是这样的:https://gist.github.com/sap1ens/4692429我的代码就是它的精确端口。
提前感谢
来自backbonejs.org.:选项–成功和错误回调,以及所有其他jQuery请求选项
Backbone.sync方法的options参数接受jquery请求选项。要指定请求的类型,正确的jquery选项是"type"(jquery.ajax)
var UserModel = Backbone.Model.extend({
urlRoot: '/api/v1/users',
subscribe: function (opts) {
var url = "this.urlRoot/subscribe"
var options = {
url: url,
type: 'POST'
};
_.extend( options, opts);
return Backbone.sync.call( this, null, this, options);
}
});
user = new UserModel();
user.subscribe();
附言:我不擅长coffee脚本,所以大致翻译成了普通js。
小心url: @url
、_.extend @options, opts
中的@
和返回语句。记住Coffescript会将@
编译为this
。
@UserModel = Backbone.Model.extend
urlRoot: '/api/v1/users'
subscribe: (opts) ->
url = "#{@urlRoot}/subscribe"
options =
url: url
type: 'POST'
_.extend options, opts
return (@sync or Backbone.sync).call @, null, @, options
相关文章:
- ZF:js 被识别,但在操作视图中不起作用
- 单击时的javascript操作不起作用
- 如何调试不起作用的AJAX操作
- 是jQuery 1.3.2导致此操作不起作用,还是其他原因
- Javascript数学不起作用,更好的方式来执行操作
- 自定义主干.模型操作不起作用
- 全日历日单击不起作用(不执行任何操作)
- Ember.js身份验证操作不起作用
- 三元操作 JS 不起作用
- HTML 按钮操作在 Safari 中不起作用
- javascript 函数中的表单操作不起作用
- Javascript对象数组到MVC操作几乎不起作用,但不是完全
- jQuery setTimeout:行上的第一个操作不起作用
- JQuery TableSorter 单击操作不起作用
- 当表单操作使用Apache Shiro转到jsp页面时,onClick不起作用
- 克隆元素中的单击操作不起作用
- 使用 jQuery.find 选择添加的图像进行 css 操作不起作用
- 控制器操作不起作用
- javascript矩阵操作不起作用
- Jquery数学操作不起作用