Javascript 422使用httpPost的响应返回{“response”:{},而不是实际的API响应

Javascript 422使用httpPost的响应返回{“response”:{},而不是实际的API响应,javascript,networking,promise,http-post,es6-promise,Javascript,Networking,Promise,Http Post,Es6 Promise,如果我运行curllocalhost:4000/myserver,我会得到: {错误:“foo”} 并称之为: return MyApi.create(config, params).then(res => { console.log("Full success" + JSON.stringify(res)); }) .catch(err => { console.log("Full error" + JSON.stringify(err)); }) 控

如果我运行curl
localhost:4000/myserver
,我会得到:
{错误:“foo”}

并称之为:

return MyApi.create(config, params).then(res => {
    console.log("Full success" + JSON.stringify(res));
  })
  .catch(err => {
    console.log("Full error" + JSON.stringify(err));
  })
控制台日志仅显示
完整错误{“响应”:{}
,与我的cURL不匹配


如何获取完整的错误和响应正文?

当您处理异步调用时,在大多数情况下(如果您的框架没有自动执行),您必须解析响应以获取可以进一步处理的数据,请使用

下面是一个实际发生情况的示例(如果您从web服务器接收数据,数据总是字符串类型):

//假响应
const response='{“name”:“John”,“age”:30,“city”:“New York”}';
log('typeof response:',typeof response);
//解析响应
const parsed=JSON.parse(响应);
log('typeof parsed:',typeof parsed);

log('parsed:',parsed)
你的意思是
JSON.parse
,而不是
JSON.stringify
return MyApi.create(config, params).then(res => {
    console.log("Full success" + JSON.stringify(res));
  })
  .catch(err => {
    console.log("Full error" + JSON.stringify(err));
  })