【发布时间】:2017-05-25 07:28:56
【问题描述】:
我想知道 Angular2 的 http 模块以不同方式处理成功与错误响应的原因和方法。
调用示例:
http.post(url, payload).map(response => response.json()).toPromise()
然后我在 promise 上调用 .then 并路由到成功或错误函数,将输出通过管道传输到控制台。我的问题/问题是,响应在成功期间为我格式化为一个对象,但对于错误,我得到了大而粗糙的完整 html 响应。在下面的示例中,我希望能够访问附加到响应的_body 的“errorMessageToUser”。最好的方法是什么?
.then(
success => console.log("success", success),
err => console.log("error", err))
这是 Express 中在本例中产生错误的代码
return res.status(401).json({ errorMessageToUser: "some error message" });
关于错误响应[问题的根源是,获取 _body 内容的干净方式是什么?还是在 Express 中传回参数的另一种方式?]
{
_body: "{"errorMessageToUser":"some error message."}",
headers: Headers,
ok: false,
status: 401,
statusText: "Unauthorized"...
}
成功响应
{ group: "asdf", password: "asdf, "username: "asdf" }
--最终结果
我希望能够在错误响应中获取errorMessageToUser,现在唯一的方法是打开正文,将该字符串转换为json,取出errorMessage,然后去掉引号-非常脏
【问题讨论】: