res.serverError()
此方法用于向客户端发送 500 (“服务器错误”) 响应,指示发生了某种服务器错误(即,错误不是请求用户代理的错误)。
return res.serverError(err);
或
return res.serverError();
与其他内置的自定义响应模块一样,此方法的行为是可自定义的。
默认情况下,它的工作方式如下
响应的状态码将设置为 500。
如果请求 "需要 JSON"(例如,请求源自 AJAX、WebSockets 或像 cURL 这样的 REST 客户端),Sails 将以 JSON 格式发送提供的错误 data
。如果未提供 data
,则会发送默认响应正文(字符串 "Internal Server Error"
)。
如果请求不“需要 JSON”(例如,在 Web 浏览器中键入的 URL),Sails 将尝试提供位于 views/500.ejs
的视图(假设使用默认的 EJS 视图引擎)。如果找不到此类视图,或在尝试提供此视图时发生错误,则会发送包含字符串 "Internal Server Error"
的默认响应正文。
return res.serverError('Salesforce could not be reached');
- 此方法是终端的,这意味着它通常是您的应用程序针对给定请求运行的最后一行代码(因此,在这些文档中建议使用
return
)。
res.serverError()
(与其他用户空间响应方法一样)可以被覆盖或修改。它运行在api/responses/serverError.js
中定义的响应方法。如果您的应用程序中不存在serverError.js
响应方法,Sails 将使用默认行为。
- 如果应用程序在“生产”环境中运行(即
process.env.NODE_ENV === 'production'
),则指定的data
**将从 JSON 响应和视图局部变量中排除**。