gpt4 book ai didi

javascript - 无论 http 状态代码如何,我的 Backbone 模型都会触发“错误”事件

转载 作者:行者123 更新时间:2023-11-28 01:41:31 25 4
gpt4 key购买 nike

我正在尝试创建一个基本的 Backbone 模型来处理我的所有 http 错误。这是模型的代码:

define(function(require) {
'use strict';

var Backbone = require('backbone');

var BaseModel = Backbone.Model.extend({
initialize: function(attributes, options) {
options || (options = {});
this.bind("error", this.defaultErrorHandler);
this.init && this.init(attributes, options);
},

defaultErrorHandler: function(model, error) {
if(error.status === 401 || error.status === 403 || error.status === 500) {
console.log(error.status);
}
}
});
return BaseModel;
});

显然,无论 http 调用发生什么情况,error 事件都会触发。即使我从服务器返回 200,我仍然遇到了 defaultErrorHandler。有人可以解释一下我附加的 error 事件的真正作用吗?另外,是否有某种我可以订阅的事件只会给我真正的错误?

最佳答案

如果出现以下情况,Backbone 的保存方法将会失败: 没有从服务器获得 200 响应;该模型有一个名为 validate 的方法,该方法返回 false。尽管文档没有明确说明这一点,但如果您要保存新记录,我认为它期望返回属性的哈希值,包括“id”属性,该属性应该是整数。如果丢失,Backbone 可能会认为该记录无法保存在服务器端。

关于javascript - 无论 http 状态代码如何,我的 Backbone 模型都会触发“错误”事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20868753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com