我有data
数组和mark_read
方法的对象,它将PUT
请求发送到我的Rails应用程序。看起来this
选项中的data
不是对象实例,我该如何解决?
Notifications.prototype = {
constructor: Notifications,
...
mark_read: function() {
$.ajax({
method: "PUT",
url: '/notifications/mark_read',
data: this.data.slice(0,5)
});
}
...
}
答案 0 :(得分:0)
在尝试从$ .ajax函数内部访问之前,您应该将“this”存储在闭包中。
它应该是这样的
Notifications.prototype = {
constructor: Notifications,
...
mark_read: function() {
var me = this;
$.ajax({
method: "PUT",
url: '/notifications/mark_read',
data: me.data.slice(0,5)
});
}
...
}
答案 1 :(得分:0)
this
的范围是mark_read
函数,因此this
的上下文是调用Notification
对象mark_read()
的内容。