POST请求/checkEmail响应缺失末尾字符,报ns_error_net_partial_transfer错误
问题:POST请求响应缺失末尾字符,被拦截
相关代码
authRouter.post("/checkEmail", async (req, res) => { try { const { email } = req.body; if (!email) { return res .status(400) .json({ error: "Email address is missing in the request body." }); } const query = "SELECT auth.is_email_exist($1);"; const result = await pool.query(query, [email]); const isEmailExist = result.rows[0].is_email_exist; res.json(isEmailExist); console.log(isEmailExist); } catch (err) { console.error("Error checking email:", err); res.status(500).json({ error: err.message }); } });
问题描述
- 该POST请求总能生成正确响应,但会被拦截,原因是响应的最后一个字符始终缺失,且仅该请求存在此问题。
- 已将内容头编码设置为UTF8


补充排查结果
仍存在响应payload缺失导致JSON解析错误的问题,请求状态码为200但被开发者工具拦截,且所有请求均出现ns_error_net_partial_transfer错误,排查结果如下:
- 检查响应数据:控制台输出正确响应数据,但即使发送
res.send("hello")仍出现相同错误,日志示例:[4/9/2024, 8:45:03 AM] info: Incoming request: POST /api/V1/auth/checkEmail false - 使用Postman测试:可正常返回正确响应和200状态码,无任何错误
- 客户端代码:前端Axios返回错误响应
- 修改Content-Type:改为
text/plain后无JSON解析错误,但请求仍被开发者工具拦截,且存在相同的网络部分传输错误 - 检查中间件:其他请求均正常,仅该请求异常
内容的提问来源于stack exchange,提问作者Kartic Joshi
相关产品推荐
相关产品推荐

