https://www.nowcoder.com/feed/main/detail/274219d7c9b84fe58ca34ad32666bf98
如果前端请求一个不存在的接口(例如 /api
),而后端没有定义该接口,通常会返回以下几种常见的错误:
情况:这是最常见的情况。如果后端没有定义该接口,服务器无法找到相应的资源,会返回HTTP状态码 404
。
解释:404 Not Found
意味着服务器没有找到与请求的URL匹配的任何内容。
常见响应:
{
"error": "Not Found",
"message": "The requested resource was not found on this server."
}
前端报错:前端接收到的响应会包含 404
状态码,可能会触发前端框架的错误处理逻辑。
情况:如果后端确实存在一个接口,但没有设置正确的CORS策略,当前端发送跨域请求时,会因为跨域策略未被允许而无法成功请求到资源。
解释:CORS(跨域资源共享)是一个安全机制,浏览器会检查后端是否允许特定来源的请求。如果没有设置允许,浏览器会阻止请求,并抛出一个跨域错误。
前端报错:在浏览器的开发者工具中,前端报错信息可能会类似: 但这个错误实际上不会返回 HTTP 状态码,因为浏览器在请求被阻止时已经终止了请求。
Access to XMLHttpRequest at '<http://example.com/api>' from origin '<http://localhost:3000>' has been blocked by CORS policy.
500 Internal Server Error
。500
状态码表示服务器遇到了一些未知的内部错误,导致无法处理请求。500
状态码,会触发错误处理逻辑,通常用于告知用户出现了服务器问题。401
状态码。403
状态码。