Я использую axios, чтобы получить статус http для URL-адресов:
async function getUrlHttpStatus (url) {
try {
const res = await axios({ method: 'get', url })
return {
status: res.status,
statusText: res.statusText
}
} catch (err) {
return {
status: err.response.status,
statusText: err.response.statusText
}
}
}
Это, очевидно, также возвращает весь контент с этого URL-адреса, и если его много, это может быть очень медленным.
Есть ли способ сделать HTTP-запрос, чтобы получить код состояния HTTP, не загружая весь контент с URL-адреса, так что это быстро ..?
🤔 А знаете ли вы, что...
С помощью JavaScript можно валидировать данные на стороне клиента, что улучшает пользовательский опыт.
Вы можете просто использовать метод HEAD, который по определению возвращает только заголовок (то есть код состояния), а не тело.
Способ доступа к ошибке: err.response.data.your_attribute_from_the_server
Если сообщение с сервера находится в , объект ошибки находится в message
attribute
Например: err.response.data.message
async function getUrlHttpStatus (url) {
try {
const res = await axios({ method: 'get', url })
return {
status: res.status,
statusText: res.statusText
}
} catch (err) {
return {
status: err.response.status,
statusText: err.response.data.message//here replace the message attibute with whatever attribute you've sent from the server
}
}
}