Javascript 如何在axios中将无效数据输出为404
我正在使用vue+axios发出请求。通常是这样的:Javascript 如何在axios中将无效数据输出为404,javascript,http,axios,Javascript,Http,Axios,我正在使用vue+axios发出请求。通常是这样的: axios.get('/url').then(response => {} ).catch(error => {}) 如果HTTP响应不是404,那么它将捕获响应,但是如果是404,那么它将在捕获中捕获 但有时我希望将响应视为错误。例如,如果GET/userresponse200ok,但数据中没有用户,如何将该响应传输到catch块 使用axios是否可以这样做,或者它是否只返回基于HTTP状态代码的响应/错误?这应该发生在您的
axios.get('/url').then(response => {} ).catch(error => {})
如果HTTP响应不是404,那么它将捕获响应,但是如果是404,那么它将在捕获中捕获
但有时我希望将响应视为错误。例如,如果GET/user
response200ok
,但数据中没有用户,如何将该响应传输到catch块
使用axios是否可以这样做,或者它是否只返回基于HTTP状态代码的响应/错误?这应该发生在您的服务器上。如果没有用户,处理请求的服务器应该返回404响应错误。这应该发生在您的服务器上。如果没有用户,处理请求的服务器应该返回404响应错误。您可以抛出错误,让catch块处理您的答案:
axios.get('/url').then(response => {
if (/* you're not satisfied with the response*/) {
throw new Error("I'm not satisfied");
}
}).catch(error => {})
您可以抛出一个错误,让catch块处理您的答案:
axios.get('/url').then(response => {
if (/* you're not satisfied with the response*/) {
throw new Error("I'm not satisfied");
}
}).catch(error => {})
您可以始终使用这样一个事实,即在JavaScript中,您可以使用函数共享行为
function handleError (error) { ... };
axios.get('/url').then(response => {
if( "some condition" ) {
handleError("Some unmet condition");
}
).catch(handleError);
您可以始终使用这样一个事实,即在JavaScript中,您可以使用函数共享行为
function handleError (error) { ... };
axios.get('/url').then(response => {
if( "some condition" ) {
handleError("Some unmet condition");
}
).catch(handleError);
数据验证和404HTTP响应应该在服务器端进行。如果真的是坏数据,那么应该更像是400个坏请求响应。数据验证和404HTTP响应应该在服务器端进行。如果它是真正的坏数据,那么它应该更接近于400个坏请求-响应。