javascript - ember保存调用不会成功块
问题描述
我在模型上使用 ember save 调用来持久化并调用我的 REST 调用。
_model.save().then(() =>{
console.log("success");
}, (error) {
console.log("error");
});
我的 REST api 返回 202 响应(如网络选项卡上所示),在控制台上我总是看到“错误”被打印出来。ember 中是否有将 202 视为错误的内容?如果是,如何解决?
解决方案
Ember Data 尝试将响应正文解析为 JSON 以获取某些状态代码(包括 202)。空字符串不是有效的 JSON。因此,正如您在一些评论中提到的那样,它会引发错误:
SyntaxError:“JSON.parse:JSON 数据的第 1 行第 1 列的数据意外结束”
由于它抛出,返回的 Promisesave()
被拒绝。
你有两个选择:
- 从您的后端返回一个有效的 JSON。
- 将 Ember Data 的默认行为更改为不将 202 响应解析为 JSON。
请注意,这{}
将是一个有效的 JSON,但不符合 JSON API 规范:
JSON 对象必须位于每个 JSON API 请求和包含数据的响应的根。这个对象定义了一个文档的“顶层”。
文档必须至少包含以下顶级成员之一:
- data:文档的“主要数据”</li>
- 错误:错误对象数组
- meta:包含非标准元信息的元对象。
推荐阅读
- php - 在 Drupal 中按下提交后如何调用服务
- javascript - 我在 removeEventListener 上做错了什么?
- angular - 可观察的 X 值模式
- javascript - 如何多次创建重复输入?
- python - Python os.rename 问题:FileNotFoundError: [WinError 3] 系统找不到指定的路径
- java - 如何在脚本执行时将行写入java中的文件
- node.js - 使用护照创建用户组
- c++ - c++图形实现得到stackoverflow错误
- mysql - 查看与 mariadb 上带有子查询的命令显示的结果不同
- python - seaborn kdeplot 覆盖在 cattropy 底图上