网站开发遇到的一个坑点

我在网站写了这样一个功能:

前端页面有三个文本框和一个提交按钮,点击后将信息发送给后端并保存到数据库。

在开发阶段,我的前端代码是这样写的:
fetch('http://localhost:3000/api/submit', ...)

意思是将信息发送到本地3000端口,在开发阶段,这里没问题。

因为就是在本地开发的。

然而,项目上线后,这个提交功能却直接失效了。经过排查才恍然大悟:前端代码是下载到用户的浏览器中执行的。 如果在代码里写死 localhost,用户的浏览器就会去请求他们自己电脑上的 3000 端口,而不是我的线上服务器。

现在问题已经解决

写成这样就行了:

fetch('/api/submit', ...) 这样浏览器会自动将当前网页的线上域名拼接到请求前面。

虽然问题很简单,但是暴露出一个很严重的问题,如果项目发生错误,我根本没有能力去调试,甚至不知道问题会在什么地方。

好在现在还没有去上班。

相关推荐
To_OC7 小时前
从 “卡死半天” 到 “打字机效果”:大模型流式输出前端实现全记录
前端·javascript·llm
SoaringHeart8 小时前
Flutter最佳实践:键盘辅助视图输入框天添加图片附件
前端·flutter
kyriewen8 小时前
我看完这篇安全论文——AI推荐的npm包,92%是编出来的
前端·javascript·ai编程
小心我捶你啊10 小时前
数据采集和Web解锁不是一回事,从用途到规则区分
前端·爬虫·网络协议
hunterandroid10 小时前
[鸿蒙从零到一] ArkUI 基础组件实战:Text、Image、Button 与 TextInput
前端
fsssb10 小时前
Chromium 源码学习笔记(五):一次点击,在进入 JS 之前先经历了什么?
前端
hunterandroid10 小时前
WorkManager 可靠性实战:唯一任务、重试与幂等设计
android·前端
鹿目10 小时前
使用 Vant CLI 搭建 UI 组件库:从 H5 到小程序跨平台
前端·javascript
默_笙10 小时前
😭 我花了两小时找了一个数据结构 bug,才把"迷你 Cursor"跑起来,绝望(bushi)
前端·javascript