首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Axios:哪些HTTP响应状态码导致then()和catch()中的哪个?

Axios 是一个基于 Promise 的 HTTP 客户端,用于发送 HTTP 请求。当使用 Axios 发送请求时,根据请求的响应状态码,决定了 then()catch() 方法中的执行情况。

以下是常见的 HTTP 响应状态码及对应的处理情况:

  • 2xx 成功类状态码:这些状态码表示请求已成功处理。在 Axios 中,响应状态码在 200 到 299 范围内,这些状态码会触发 then() 方法中的回调函数。可以根据具体的状态码进行不同的处理,如 200 表示成功获取资源,201 表示成功创建资源等。
  • 3xx 重定向类状态码:这些状态码表示需要进一步的操作来完成请求。在 Axios 中,这些状态码会被自动跟踪和处理。Axios 会自动跟随重定向,并在最终的响应中触发 then() 方法中的回调函数。
  • 4xx 客户端错误类状态码:这些状态码表示请求包含错误或无法完成请求。在 Axios 中,响应状态码在 400 到 499 范围内,这些状态码会触发 catch() 方法中的回调函数。可以根据具体的状态码进行不同的处理,如 404 表示请求的资源不存在,401 表示未授权等。
  • 5xx 服务器错误类状态码:这些状态码表示服务器无法完成显式请求。在 Axios 中,响应状态码在 500 到 599 范围内,这些状态码会触发 catch() 方法中的回调函数。可以根据具体的状态码进行不同的处理,如 500 表示服务器内部错误,503 表示服务器暂时不可用等。

需要注意的是,以上只是常见的 HTTP 响应状态码的一部分,实际上还有更多的状态码可以出现。Axios 会根据 HTTP 响应中的状态码,决定将请求的结果传递给 then()catch() 方法中的哪个回调函数。

在腾讯云中,可以使用腾讯云 API 网关产品来构建和管理 API,并结合腾讯云函数计算来实现无服务器计算,从而更好地处理 HTTP 请求和响应。具体产品信息请参考腾讯云 API 网关(https://cloud.tencent.com/product/apigateway)和腾讯云函数计算(https://cloud.tencent.com/product/scf)。

另外,腾讯云还提供了云原生应用引擎 TKE(Tencent Kubernetes Engine)来帮助用户轻松构建、部署和管理容器化应用。TKE 可以提供高性能的容器服务,使用户能够更好地管理和调度应用程序。具体产品信息请参考腾讯云 TKE(https://cloud.tencent.com/product/tke)。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

常见http状态哪些(常用http响应状态)

大家好,又见面了,我是你们朋友全栈君。 HTTP状态(HTTP Status Code)是一种表示网页服务器响应状态三位数字编码。通过这些数字,可以简化状态表达。...状态有十种,其中首位数字为1-5。根据这5个数字,状态可以分为5类。1XX表示请求正在处理;2XX表示请求已经成功处理;3XX表示重定向;4xx表示请求错误;5xx表示服务器错误。...在嗅探抓包过程,常见状态吗有200304。这两个状态都关系到能否获取重要信息。当用户第一次请求服务器资源,服务器成功返回资源,这是状态为200。...所以,状态为200数据包往往包含用户从服务器获取数据。 每个资源请求完成后,通常会被缓存在客户端,并会记录资源有效时间修改时间。当客户再次请求资源时,客户端首先从缓存查找该资源。...服务器会判断修改时间,如果没有修改过,就会返回状态304,告诉客户端该资源依然有效,客户端会直接使用缓存资源。针对304响应,渗透人员可以分析对应请求包,获取资源路径。

1.1K20

Vue合理配置axios并在项目中进行实际应用

接下来,带大家看一下,add命令都做了哪些事情 src下新建了一个plugins文件夹,这个文件夹用于存放Vue引入插件相关配置文件 在plugins文件夹,新建了axios.js文件 在package.json...=>{ // 失败回调 }); /* 支持所有http请求以及请求取消、并发请求等功能,更多细节以及使用方法移步官方文档 文档: [axios文档](http://www.axios-js.com.../** * 请求失败后错误统一处理,当然还有更多状态判断,根据自己业务需求去扩展即可 * @param {Number} status 请求失败状态 */ const errorHandle...响应失败后对状态进行统一处理 在请求拦截添加token 在响应拦截对token过期进行相应处理 api抽离 接口域名抽离 抽离API域名接口 为什么要进行API抽离?...,可方便接口调用,当然你也可以按需加载,用到哪个模块接口在在哪个模块下进行引用。

2K20
  • 面试官:Vue项目中有封装过axios吗?怎么封装

    一、axios是什么 axios 是一个轻量 HTTP客户端 基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富配置,支持 Promise,支持浏览器端 Node.js 端...现在 axios 已经成为大部分 Vue 开发者首选 特性 从浏览器创建 XMLHttpRequests 从 node.js 创建 http请求 支持 Promise API 拦截请求和响应 转换请求数据响应数据...,这块需要和后端约定好 请求方法:根据get、post等方法进行一个再次封装,使用起来更为方便 请求拦截器: 根据请求请求头设定,来决定哪些请求可以访问 响应拦截器:这块就是根据 后端`返回来状态判定执行不同业务...}, error => { return Promise.error(error) }) 响应拦截器 响应拦截器可以在接收到响应后先做一层操作,如根据状态判断登录状态、授权 /.../ 响应拦截器 axios.interceptors.response.use(response => { // 如果返回状态为200,说明接口请求成功,可以正常拿到数据 // 否则的话抛出错误

    2K21

    搭建前端监控,如何采集异常数据?

    拦截器捕获异常 首先我们为 axios 添加响应拦截器: // 响应拦截器 instance.interceptors.response.use( (response) => { return...如果有响应,首先获取状态,根据状态来判断什么时候需要收集异常。上面的判断方式简单粗暴,只要状态大于 400 就视为一个异常,拿到响应数据,并执行上报逻辑。...接口异常一般需要数据字段如下: code:http 状态 url:接口请求地址 method:接口请求方法 params:接口请求参数 error:接口报错信息 这些字段都可以在 error 参数获取...page_route:异常页面路由 page_title:异常页面名称 app version 都是应用配置,可以判断异常出现在哪个应用哪个版本。...在 React Vue 一样,用户信息可以直接从状态管理里拿。因为 React 没有全局获取当前旅游快捷方式,所以页面信息我也会放在状态管理里面。

    2K30

    腾讯前端vue面试题合集2

    策略模式 策略模式指对象有某个行为,但是在不同场景,该行为有不同实现方案-比如选项合并策略Vuev-html会导致哪些问题可能会导致 xss 攻击v-html 会替换掉标签内部子元素let...一、axios是什么axios 是一个轻量 HTTP客户端基于 XMLHttpRequest 服务来执行 HTTP 请求,支持丰富配置,支持 Promise,支持浏览器端 Node.js 端。...现在 axios 已经成为大部分 Vue 开发者首选特性从浏览器创建 XMLHttpRequests从 node.js 创建 http请求支持 Promise API拦截请求和响应转换请求数据响应数据取消请求自动转换...)状态: 根据接口返回不同status , 来执行不同业务,这块需要和后端约定好请求方法:根据get、post等方法进行一个再次封装,使用起来更为方便请求拦截器: 根据请求请求头设定,来决定哪些请求可以访问响应拦截器...error => { return Promise.error(error) })响应拦截器响应拦截器可以在接收到响应后先做一层操作,如根据状态判断登录状态、授权// 响应拦截器axios.interceptors.response.use

    1.1K30

    前后端交互弯弯绕绕

    :GET、POST、PUT、DELETE 等 HTTP 请求,并处理响应Axios 主要特点包括:支持浏览器 Node.js:在不同环境中使用相同 APIPromise-based:使得异步操作更加简洁取消请求...根据响应状态?...因为,普通用户不会去控制台里看错误信息,我们要编写代码拿到错误并展示给用户在页面上,使用 axios catch 方法,捕获这次请求响应错误并做后续处理,具体错误处理过程如下:如果请求成功发出且服务器也响应状态...,但状态代码超出了 2xx 范围,Axios 会捕获到一个 error.response 对象,其中包含了响应数据、状态和头部信息如果请求已经成功发起,但没有收到响应,error.request...:then() 回调函数返回值,会影响新生成 Promise 对象最终状态结果每个 Promise 对象管理一个异步任务,用 then 返回 Promise 对象,串联起来好处:通过链式调用,

    10420

    如何在Vue项目中封装axios

    一、axios简介 axios 是一个基于 XMLHttpRequest 轻量级HTTP客户端,适用于浏览器Node.js环境。...它提供以下特性: 创建XMLHttpRequestsHTTP请求 支持 Promise API 请求和响应拦截 数据转换 取消请求 自动转换JSON数据 客户端XSRF防御 Vue 2.0起,官方推荐使用...虽然 axios API设计友好,但随着项目规模增长,直接使用 axios 可能会导致以下问题: 重复编写配置代码,如超时时间、请求头等。...添加响应拦截器 在响应拦截器处理通用错误业务逻辑: axios.interceptors.response.use(response => { if (response.status === 200...) { // 根据状态处理业务逻辑 return Promise.resolve(response.data); } else { return Promise.reject

    18610

    axios2教程

    axios axios 是一个基于 promise HTTP 库,用于浏览器node.jshttp客户端,支持拦截请求和响应,自动转换 JSON 数据, 客户端支持防御 XSRF。...响应内容最大长度 maxContentLength: 2000, // 定义可获得http响应状态 // return true、设置为null或者undefined,promise...response由以下几部分信息组成 { // 服务端返回数据 data: {}, // 服务端返回状态 status: 200, // 服务端返回状态信息 statusText...') .catch(function (error) { if (error.response) { // 发送请求后,服务端返回响应不是 2xx console.log.../ 只有当状态大于或等于500时才会拒绝 } }) 取消请求 你可以通过cancel token来取消一个请求 axios取消令牌API基于撤销可取消承诺提案 你可以使用“CancelToken

    3.2K31

    axios封装token示例

    在其他模块,可以像使用原始 Axios 一样使用该实例,不必在每个请求中都手动添加 Token。例如: import axios from '....以下是一个较为完整 Axios 封装例子,它实现了以下功能: 添加了一个请求拦截器,在请求添加 Token 其他公共参数; 添加了一个响应拦截器,在响应中统一处理错误; 对于 HTTP 状态非...instance.interceptors.response.use( response => { // 对于 HTTP 状态非 200 响应,将错误信息以 Promise.reject...我们使用了环境变量 VUE_APP_API_BASE_URL VUE_APP_APP_ID 分别存储了 API 基础 URL 应用程序 ID,以便在请求拦截器中使用。...在响应拦截器,我们判断了 HTTP 状态非 200 响应,并将错误信息以 Promise.reject 形式返回。对于 401 错误,我们自动跳转到登录页面。

    1.1K10

    Axios使用方法-实现前后端交互

    什么是Axios Axios 是一个基于 promise 网络请求库,作用于node.js 浏览器。 它是 isomorphic (即同一套代码可以运行在浏览器node.js)。...Axios文档地址:https://www.axios-http.cn/ 特性: 从浏览器创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应...{ // `data` 由服务器提供响应 data: {}, // `status` 来自服务器响应 HTTP 状态 status: 200, // `statusText...` 来自服务器响应 HTTP 状态信息 statusText: 'OK', // `headers` 是服务器响应头 // 所有的 header 名称都是小写,而且可以使用方括号语法访问...: {}, // `request` 是生成此响应请求 // 在node.js它是最后一个ClientRequest实例 (in redirects), // 在浏览器则是 XMLHttpRequest

    1.6K40

    基于TypeScript封装Axios笔记(四)

    3} 处理超时错误 我们可以设置某个请求超时时间 timeout,也就是当请求发送后超过某个时间后仍然没收到响应,则请求自动终止,并触发 timeout 事件。...= function handleTimeout() { 8 reject(new Error(`Timeout of ${timeout} ms exceeded`)) 9} 处理非 200 状态...对于一个正常请求,往往会返回 200-300 之间 HTTP 状态,对于不在这个区间状态,我们也把它们认为是一种错误情况做处理。...接着我们在 handleResponse 函数对 request.status 值再次判断,如果是 2xx 状态,则认为是一个正常请求,否则抛错‍。...但是这里我们错误都仅仅是简单 Error 实例,只有错误文本信息,并不包含是哪个请求、请求配置、响应对象等其它信息。我们会对错误信息做增强。

    90910

    axios详解以及完整封装方法

    全局loading配置 VUEaxios封装 在vue项目中,后台交互获取数据这块,我们通常使用axios库,它是基于promisehttp库,可运行在浏览器端node.js。...响应拦截 // 响应拦截器 axios.interceptors.response.use( response => { // 如果返回状态为200,说明接口请求成功,可以正常拿到数据...例如上面的思想:如果后台返回状态是200,则正常返回数据,否则根据错误状态类型进行一些我们需要错误,其实这里主要就是进行了错误统一处理没登录或登录过期后调整登录页一个操作。...,如果存在,则统一在http请求header都加上token,不用每次请求都手动添加了 // 即使本地存在token,也有可能token是过期,所以在响应拦截器要对返回状态进行判断 const...判断用户登录情况,并返回给我们对应状态 // 而后我们可以在响应拦截器,根据状态进行一些统一操作。

    6.1K12
    领券