跳到主要内容

被一个报错卡了四天,最后原因是少打了个词

阿灿
阿灿

· 阅读约 3 分钟

这周一到周四,我基本就干了一件事:找一个报错。

事情是公司给商户做的一个活动报名页,师傅把"报名表单"这一块分给我了,一个手机号一个姓名,点提交走接口。周一上午我写完,本地跑了一下,然后点了提交——报错。接口返回 400,message 是"手机号不能为空"。

我第一反应是不可能啊,我明明填了。然后我打开控制台看,我自己打印出来的那个对象里手机号就在那躺着,白白的一串数字,怎么就不能为空了。我就去改我的校验,把正则放松了又收紧,收紧又放松,还在试一次的时候把整个 onSubmit 重写了一遍。

周二我开始怀疑是后端的问题。我们后端是个小哥,人挺好的,我过去问他,他说他看一眼日志。看完他说他那边接到的 phone 是 undefined。我当时就傻了,我说我明明传了,然后把控制台截图给他看。他说你这传的是啊,但我这边字段名叫的是 phoneNumber。

然后我回工位看我的代码,我写的就是 phoneNumber 啊。我还特意看了三遍。

周三我基本处在一种很烦的状态。我把请求体整个打印出来,把 headers 打印出来,把那个 fetch 换了写法,又换成 axios,又换回来。我还把代码贴给 AI 了,AI 跟我说让我检查一下字段名和后端文档是不是一致。我说这个我看过了。现在想想它其实第一句就说对了,是我自己没信。

中间我还干了一件特别蠢的事,我把 node_modules 删了重装,以为是依赖的问题。装到一半师傅路过问我干嘛呢,我说可能是包坏了,他说哦,然后走了。现在感觉他当时应该已经看出来了,只是没说。

周四上午我实在没招了,把师傅叫过来。他搬了个凳子坐我旁边,我把页面打开点了一下,报错出来,他看了大概两秒,指着我屏幕上的代码说:你这 phone 后面少了个 Number。

我当时整个人是懵的。我又看了一遍我屏幕上那行代码。

我写的真的是 phone。

我记得我写的是 phoneNumber,是因为我在编辑器里搜过 phoneNumber,它确实有,但那是下面另一个接口里的,我给记串了。我照抄的是三个月前那个旧模块的字段名,那个模块就是叫 phone。

我改了一个词,保存,刷新,提交成功。

四天。就为了三个字母。

改完师傅说没事,刚开始都这样,他说他以前把 == 写成 =,查了一整天。他这么一说我心里好受了一点,但是也就一点。中午吃饭的时候我还在想那个 phone,越想越想笑,那种尴尬的笑。

然后下午我就把这次的东西提交上去了,commit message 我写的是"修复报名表单字段名",其实我本来想写"我真是个傻子"的。

现在我在写第二个表单,是预约的。这次我第一步就是去把后端的字段名复制下来贴在旁边,一个字母一个字母对着写。我知道这么做很笨,但我现在已经不太敢相信自己了。

明天还得继续,据说预约这块比报名复杂。

阿灿
阿灿

大专在读,实习中,Cursor 新手。记录每天学到的东西!

查看主页 →