描述问题:
amis框架对响应体格式有一点“特殊”要求,会导致页面行为异常。比如对一个正常响应的接口,即提示成功,又提示“保存失败”。
截图或视频:
可以的话,尽可能提供截图或视频来补充描述你的问题...
如何复现(请务必完整填写下面内容):
- 操作步骤
后端返回的 data 中包含了额外的 status 字段。
Amis 响应处理机制
当使用 type: "submit" 时,Amis 会检查响应:
// Amis 内部逻辑(简化版) { "status": 0, // 顶层 status:0 = 成功 "msg": "激活成功", "data": { "appId": "", "appName": "", "status": "pending" // 问题:data 中的 status 字段,会使amis误判异常,报错“保存失败” } }
问题根源:Amis 可能会混淆 status 字段,误判 data.status 为响应状态码。
- 解决办法/规避办法
不要在响应体重嵌套使用status关键字,比如有{status:1, msg:2, data:{status:3}}结构,避免误判。
描述问题:
amis框架对响应体格式有一点“特殊”要求,会导致页面行为异常。比如对一个正常响应的接口,即提示成功,又提示“保存失败”。
截图或视频:
可以的话,尽可能提供截图或视频来补充描述你的问题...
如何复现(请务必完整填写下面内容):
后端返回的 data 中包含了额外的 status 字段。
Amis 响应处理机制
当使用 type: "submit" 时,Amis 会检查响应:
// Amis 内部逻辑(简化版) { "status": 0, // 顶层 status:0 = 成功 "msg": "激活成功", "data": { "appId": "", "appName": "", "status": "pending" // 问题:data 中的 status 字段,会使amis误判异常,报错“保存失败” } }问题根源:Amis 可能会混淆 status 字段,误判 data.status 为响应状态码。
不要在响应体重嵌套使用status关键字,比如有{status:1, msg:2, data:{status:3}}结构,避免误判。