<p>Axios рдХреЛ рдорд╛рдиреНрдп HTTP рдкреНрд░рддрд┐рд╕рд╛рджреЛрдВ рдкрд░ рдирд╣реАрдВ рдлреЗрдВрдХрдирд╛ рдЪрд╛рд╣рд┐рдП</p>

рдХреЛ рдирд┐рд░реНрдорд┐рдд 9 рдЕрдХреНрддреВре░ 2016  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: axios/axios

рдЕрдХреНрд╖ status < 200 || status >= 300 рдкрд░ рдХреНрдпреЛрдВ рдлреЗрдВрдХрддрд╛ рд╣реИ? рдбрд┐рдлрд╝реЙрд▓реНрдЯ рджреЗрдЦреЗрдВред
рдПрдХ HTTP рддреНрд░реБрдЯрд┐ 500 тАЛтАЛрдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдо рд╕рд░реНрд╡рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЧрдП рд╣реИрдВ рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛтАЛтАЛрдХрд┐ http рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╡реИрдз рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рднреА рдорд┐рд▓реА рд╣реИред

рдПрдХ рдЖрд╡реЗрджрди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рдПрдХ HTTP рддреНрд░реБрдЯрд┐ 500 тАЛтАЛрдХреЛ рдПрдХ рдЕрдкрд╡рд╛рдж рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдЕрдореВрд░реНрдд рд╕реНрддрд░ рдкрд░ рд╣реИ рдФрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ HTTP рдПрдмреНрд╕реНрдЯреНрд░реИрдХреНрд╢рди рд╕реЗ рдЕрд╕рдВрдмрдВрдзрд┐рдд рд╣реИред

рдЖрдиреЗ рд╡рд╛рд▓реЗ рдлрд╝реЗрдЪ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдорд╛рдиреНрдп HTTP рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЕрдХреНрд╖ рдирд╣реАрдВ рдлреЗрдВрдХреЗрдВрдЧреЗред

рдлрд╝реЗрдЪ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ response.ok рд╕рдВрдкрддреНрддрд┐ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддрд╛ рд╣реИ, рддрд╛рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрд╡рд▓рдкрд░ рдЖрд╕рд╛рдиреА рд╕реЗ HTTP рдСрдкрд░реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рдХреА рдкрд╣рдЪрд╛рди рдХрд░ рд╕рдХреЗ, рдореЗрд░рд╛ рдорд╛рдирдирд╛ тАЛтАЛтАЛтАЛрд╣реИ рдХрд┐ рдПрдХ рд╕рдорд╛рди рджреГрд╖реНрдЯрд┐рдХреЛрдг axios рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдлрд╝реЗрдЪ рд╕реНрдкреЗрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП рдХреГрдкрдпрд╛ рдпрд╣рд╛рдВ рджреЗрдЦреЗрдВ:
https://fetch.spec.whatwg.org/#dom -response-ok
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╣реЛрдиреЗ рдкрд░ рд╣рдореЗрд╢рд╛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдорд╛рдиреНрдпрд╕реНрдЯреИрдЯрд╕ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╡рд┐рдХрд▓реНрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбреЙрдХреНрд╕ рд╕реЗ:

// `validateStatus` defines whether to resolve or reject the promise for a given
// HTTP response status code. If `validateStatus` returns `true` (or is set to `null`
// or `undefined`), the promise will be resolved; otherwise, the promise will be
// rejected.
validateStatus: function (status) {
  return status >= 200 && status < 300; // default
}

рд╕рд╣реА рд╣реИ, рд▓реЗрдХрд┐рди рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдпрд╣ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рднреА рдирд╣реАрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╣рдо рдЖрдкрдХреА рдЪрд┐рдВрддрд╛ рдХреЛ рд╕рдордЭрддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди Axios рдХрд╛ рдорддрд▓рдм fetch рдХреЛ рдмрджрд▓рдирд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рди рд╣реА рдЗрд╕рдХреЗ рд╡реНрдпрд╡рд╣рд╛рд░ рдХреА рдирдХрд▓ рдХрд░рдирд╛ рд╣реИред рд╣рдо рдЗрд╕реЗ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдбреЗрдкреНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдо рдЗрд╕ рд╕рдордп XHR рд╕реЗ рдЪрд┐рдкрдХреЗ рд░рд╣рддреЗ рд╣реИрдВ)ред

Axios рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рд╡рд┐рдиреНрдпрд╛рд╕ рдпреЛрдЧреНрдп рд╣реЛрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХрд┐ рдЕрдзрд┐рдХрд╛рдВрд╢ рд▓реЛрдЧ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд▓реЛрдЧ рд╕рд░реНрд╡рд░ рд╕реЗ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдареАрдХ рдмрд╛рдж рд╕реНрдерд┐рддрд┐ рдХреЛрдб рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЬреИрд╕реЗ:

fetch(url).then(verifyStatus).then(...);

рдЗрд╕рд▓рд┐рдП fetch-check-http-status рдЬреИрд╕реЗ рдкреИрдХреЗрдЬ рдореМрдЬреВрдж рд╣реИрдВред

рд╣рдо рдЙрд╕ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдмрдЪрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЬреЛ рдЗрддрдиреА рдмрд╛рд░ рджреЛрд╣рд░рд╛рдИ рдЬрд╛рддреА рд╣реИред рдпрджрд┐ рдЖрдк рд╕рд░реНрд╡рд░ рд╕реЗ рдХрд┐рд╕реА рд╡реИрдз рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рд╣рд▓ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЖрдк рд╣рдореЗрд╢рд╛ validateStatus: false рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

Baoyx007 picture Baoyx007  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ildella picture ildella  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Adman picture Adman  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

samayo picture samayo  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

reggi picture reggi  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ