Я пытаюсь создать асинхронный / ожидающий HTTP POST, используя jQuery, например:
let response = await $.post({
url: 'https://example.com/product/add',
data: JSON.stringify({"foo":"bar"}),
contentType: 'application/json; charset=UTF-8'
});
Затем я хотел бы проверить код ответа и определить, какое действие предпринять на его основе:
if( response.status === 200 ) {
// Ok
}
else{
// Something went wrong, inspect the response body for details
}
Но, похоже, $.post()
выдает исключение, если код состояния ответа <> 200, что означает, что мне нужно было бы обернуть все это в блок try...catch
и выполнить обработку ошибок вместо этого в блоке catch.
Меня раздражает необходимость иметь дело с исключениями для таких вещей, как HTTP 500, "Поле 'foo' должно содержать не менее 4 символов" .
Есть ли способ заставить $.post()
не создавать исключение для кодов состояния, отличных от 200?