Node.js 如何使axios在遇到HTTP 302时不抛出异常,而是返回axios响应?

Node.js 如何使axios在遇到HTTP 302时不抛出异常,而是返回axios响应?,node.js,axios,Node.js,Axios,我有一个调用端点的axios代码,该端点返回302和位置:头。我正在编写一个测试,它应该评估方法响应,确认正确的(HTTP 302)响应,并检查位置:URL内容 所以我有一个测试代码(Jest) 但是,axios会抛出一个错误: Error: Request failed with status code 302 at createError (C:\<my project folder>\node_modules\axios\lib\core\createError.js

我有一个调用端点的axios代码,该端点返回302和
位置:
头。我正在编写一个测试,它应该评估方法响应,确认正确的(HTTP 302)响应,并检查
位置:
URL内容

所以我有一个测试代码(Jest)

但是,axios会抛出一个错误:

Error: Request failed with status code 302

    at createError (C:\<my project folder>\node_modules\axios\lib\core\createError.js:16:15)
    at settle (C:\<my project folder>\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (C:\<my project folder>\node_modules\axios\lib\adapters\http.js:260:11)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

错误:请求失败,状态代码为302
在createError(C:\\node\u modules\axios\lib\core\createError.js:16:15)
结算时(C:\\node\u modules\axios\lib\core\solite.js:17:12)
在IncomingMessage.handleStreamEnd(C:\\node\u modules\axios\lib\adapters\http.js:260:11)
在IncomingMessage.emit(events.js:215:7)
在endReadableNT(_stream_readable.js:1184:12)
在处理和拒绝时(内部/process/task_queues.js:80:21)

如何将Axios配置为只返回回复而不抛出错误?

为了不抛出
错误,请使用
valuedatestatus
选项:

result=wait axios.get(this.url{
validateStatus:功能(状态){
//如果此函数返回true,则不会引发异常,因此
//在最简单的情况下,只需返回true即可从外部处理状态检查。
返回true;
}
});
if(result.status==StatusCodes.probled){
//以自定义方式对403错误作出反应
}

为什么不
尝试
捕获错误?@jornsharpe这是我的第二个选择,但我不明白为什么axios不能在AxiosResponse对象中返回回复,因为很容易用数据填充对象。因为那不是API,
axios
拒绝,如果请求被认为不成功,则不解决。同样数量的人抱怨
fetch
的相反行为,除非出现实际的错误,例如网络错误,否则该问题会得到解决。你可以看看。
Error: Request failed with status code 302

    at createError (C:\<my project folder>\node_modules\axios\lib\core\createError.js:16:15)
    at settle (C:\<my project folder>\node_modules\axios\lib\core\settle.js:17:12)
    at IncomingMessage.handleStreamEnd (C:\<my project folder>\node_modules\axios\lib\adapters\http.js:260:11)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)