尽管我得到了响应,但就绪状态仍然是 1
Ready state is still 1 though I got the Response
toggleCompletedCheck : function(e) {
e.stopPropagation();
e.stopImmediatePropagation();
var key = $(e.currentTarget).attr("id");
this.model = todoCollection.findWhere({
key : key
});
this.model.toggle("completed", true);
this.option.collection = todoCollection.add(this.model);
var email = this.model.get("email");
var title = this.model.get("title");
var key = this.model.get("key");
var status = this.model.get("status");
var completed = this.model.get("completed");
this.updateUserData(email, key, title, completed, status);
returnValue = this.model.save();
console.log(returnValue);
},
函数中ready状态还是1 with。我使用的变量是一个 window 对象(returnValue)。当我在控制台(从 chrome 浏览器)中再次打印对象时,它显示就绪状态 4 还允许我使用 returnValue.responseText 访问响应文本。我正在使用 backbone.js 将输入保存到后端。 returns 保存的 responseText。但反过来,当我尝试访问它时,我无法访问它,它说未定义。如何在此函数中获取我需要的响应文本。
Backbone 的 model.save()
方法是异步的。它 return 是一个值(javascript xhr 对象),但请求在 return 时未完成。
要使用完整的响应,您通常会将 success
或 error
回调传递给 save
方法 (docs here):
this.model.save(null, {
success: function(model, response, options) {
// do something with the response
},
error: function(model, response, options) {
// do something with the response
}
});
当您习惯于 return
从您的函数中获取响应时,这可能是一种调整,但使用回调几乎总是可以实现等效功能。
toggleCompletedCheck : function(e) {
e.stopPropagation();
e.stopImmediatePropagation();
var key = $(e.currentTarget).attr("id");
this.model = todoCollection.findWhere({
key : key
});
this.model.toggle("completed", true);
this.option.collection = todoCollection.add(this.model);
var email = this.model.get("email");
var title = this.model.get("title");
var key = this.model.get("key");
var status = this.model.get("status");
var completed = this.model.get("completed");
this.updateUserData(email, key, title, completed, status);
returnValue = this.model.save();
console.log(returnValue);
},
函数中ready状态还是1 with。我使用的变量是一个 window 对象(returnValue)。当我在控制台(从 chrome 浏览器)中再次打印对象时,它显示就绪状态 4 还允许我使用 returnValue.responseText 访问响应文本。我正在使用 backbone.js 将输入保存到后端。 returns 保存的 responseText。但反过来,当我尝试访问它时,我无法访问它,它说未定义。如何在此函数中获取我需要的响应文本。
Backbone 的 model.save()
方法是异步的。它 return 是一个值(javascript xhr 对象),但请求在 return 时未完成。
要使用完整的响应,您通常会将 success
或 error
回调传递给 save
方法 (docs here):
this.model.save(null, {
success: function(model, response, options) {
// do something with the response
},
error: function(model, response, options) {
// do something with the response
}
});
当您习惯于 return
从您的函数中获取响应时,这可能是一种调整,但使用回调几乎总是可以实现等效功能。