Ajax 如何在余烬数据中获取HTTP状态码
当我调用Ajax 如何在余烬数据中获取HTTP状态码,ajax,asynchronous,ember.js,ember-data,Ajax,Asynchronous,Ember.js,Ember Data,当我调用 App.store.createRecord(App.User, { name: this.get("name") }); App.store.commit(); 我如何知道它是否成功以及如何等待asyn消息?非常有限的错误处理是在ember data master中对DS.RESTAdapter进行的 创建或更新记录(禁用批量提交)并返回介于400和599之间的状态代码时,将发生以下情况: 422不可处理实体将记录转换为“无效”状态,并将从服务器返回的任何错误添加到记录的e
App.store.createRecord(App.User, { name: this.get("name") });
App.store.commit();
我如何知道它是否成功以及如何等待asyn消息?非常有限的错误处理是在ember data master中对DS.RESTAdapter进行的 创建或更新记录(禁用批量提交)并返回介于400和599之间的状态代码时,将发生以下情况:
将记录转换为“无效”状态,并将从服务器返回的任何错误添加到记录的422不可处理实体
属性中 适配器假定服务器将以以下格式响应JSON:errors
(错误消息本身可能是字符串数组,也可能只是字符串。余烬数据目前不关心哪个。) 要检测此状态,请执行以下操作:{ errors: { name: ["can't be blank"], password: ["must be at least 8 characters", "must contain a number"] { }
record.get('isValid') === false
- 所有其他状态代码将记录转换为“错误”状态
要检测此状态,请使用:
record.get('isError') === true
更多的情况最终可能由ember data开箱即用来处理,但目前如果您需要特定的内容,您必须扩展
DS.RESTAdapter
,自定义其diderro
函数以将其添加到您自己中。非常有限的错误处理是在ember data master中对DS.RESTAdapter进行的
创建或更新记录(禁用批量提交)并返回介于400和599之间的状态代码时,将发生以下情况:
将记录转换为“无效”状态,并将从服务器返回的任何错误添加到记录的422不可处理实体
属性中 适配器假定服务器将以以下格式响应JSON:errors
(错误消息本身可能是字符串数组,也可能只是字符串。余烬数据目前不关心哪个。) 要检测此状态,请执行以下操作:{ errors: { name: ["can't be blank"], password: ["must be at least 8 characters", "must contain a number"] { }
record.get('isValid') === false
- 所有其他状态代码将记录转换为“错误”状态
要检测此状态,请使用:
record.get('isError') === true
更多的情况最终可能由ember data开箱即用来处理,但目前如果您需要特定的内容,您必须扩展
DS.RESTAdapter
,自定义其diderro
函数以将其添加到您自己中。ember data目前在HTTP状态下不提供错误处理,但它在路线图上。到目前为止,一种方法是扩展适配器以使用jqueryajaxstatusCode
,并为每个状态代码传递回调。在某种程度上与您的类似,但更多的是在错误处理方面。当涉及HTTP状态时,Ember-Data目前不提供错误处理,但它在路线图上。到目前为止,一种方法是扩展适配器以使用jqueryajaxstatusCode
,并为每个状态代码传递回调。在某种程度上与您的类似,但更多的是在错误处理方面。