Javascript 422使用httpPost的响应返回{“response”:{},而不是实际的API响应
如果我运行curlJavascript 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)); }) 控
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));
})