result.status值含前置空格致if判断失效,求问题根源
问题分析与解决:接口返回的status带前置空格导致判断失效
原因
你的前端代码没有任何会给status添加前置空格的逻辑,useFetch只是原样返回后端接口的响应数据。这个空格是后端更新接口(updateMyPassword/updateMyData)在返回结果时,给status字段的值额外添加的。其他接口判断正常,说明只有这两个更新接口的后端返回格式存在问题。
解决方案
1. 前端快速修复
在判断status前用trim()方法去除首尾空格,直接修改判断逻辑:
if (result.status.trim() === "success") { showAlerts("success", `Your ${type}'s been updated successfully !♥`); }
如果需要全局处理,也可以在useFetch的返回环节对data中的字符串字段统一做去空格处理(注意不要破坏其他需要保留空格的字段)。
2. 后端根源修复(推荐)
找到后端对应更新接口的代码,检查返回status的逻辑,移除字符串前的空格,确保返回的status值为纯"success"。
内容的提问来源于stack exchange,提问作者Marya
相关产品推荐
相关产品推荐

