得到错误的请求而不是完整的错误信息

我正在尝试使用以下(使用superagent )相同的用户电子邮件进行POSTerror handling:

 export function signUpUser(userData) { return async dispatch => { try { const currentUser = await request.post(`${url}/signup`).send(userData); set(window.localStorage, 'x-auth', currentUser); dispatch(signUpSuccessObject(userData)); } catch (error) { dispatch(signUpFailObject(error)); } }; } 

我想要得到我可以在我的networking选项卡中看到的以下内容:

{“name”:“SequelizeUniqueConstraintError”,“errors”:[{“message”:“email must be unique”,“type”:“unique violation”,“path”:“email”,“value” fsl.co”, “原产地”: “DB”, “实例”:

但是,我所得到的是:

错误的请求

我的API控制器:

 User.create( Object.assign(req.body, { password: bcrypt.hashSync(req.body.password, 10), }) ) .then(() => { const myToken = jwt.sign({email: req.body.email}, 'leogoesger'); res.status(200).send(myToken); }) .catch(err => res.status(400).send(err)); }, 

res.send()将发送纯text/html响应。

对于JSON API,使用res.json(myToken)res.status(400).json(err)

https://github.com/visionmedia/superagent/issues/1074

^^用这个作为参考。

基本上我需要error.response 。 这会给我整个对象,这将允许我访问错误消息。

所以完整的工作代码将是:

 export function signUpUser(userData) { return async dispatch => { try { const currentUser = await request .post(`${url}/signup`) .send(userData) .type('json'); set(window.localStorage, 'x-auth', currentUser); dispatch(signUpSuccessObject(userData)); } catch (e) { dispatch(signUpFailObject(e.response.body)); } }; }