如何在koa中将错误写回浏览器

时间:2015-06-30 15:49:18

标签: node.js koa

我是koa的新手,并将其用作我的应用服务器。

我的目标是找到一种简单的方法来告诉客户端详细的错误,但使用推荐的语句:this.throw(500,'验证失败',{user:'它是必需'}),客户端只获得500内容为“内部服务器错误”,但我的期望是发送客户端500,内容为{“user”:“it required”}。我错过了什么或如何实现我的目标?

谢谢, 罗恩

1 个答案:

答案 0 :(得分:1)

浏览器只是期望与Node不同的东西。

500是HTTP状态。一个人将Koa作为this.status = 500;发回。你似乎对此没有好处,但这是正确的方法。如果您正在寻找更具体的内容,500范围内有大量的HTTP状态,这些状态都是指服务器端错误。 Here's a list of all HTTP status codes

在内容上,您将在this.body中发送,这是返回给浏览器的内容主体。如果您愿意,可以使用自己的自定义消息发回JSON对象。

this.body = { 
  error: true, 
  message: "Validation failed.", 
  user: "it is required" 
}

编辑:

您应该发回401未经授权的状态,这是此方案的标准状态代码。