当前位置: 首页 > wzjs >正文

域名和网站建设实训报告市场策划方案

域名和网站建设实训报告,市场策划方案,网站开发建设合同,日用品网站1万2做代理使用 fetch API 处理 403 错误与使用 Axios 类似,但需要手动检查响应状态。以下是一些最佳实践和示例,展示如何在使用 fetch 时优雅地处理 403 错误。 1. 基本的 Fetch 请求 首先,您需要进行一个基本的 fetch 请求,并检查响应的…

使用 fetch API 处理 403 错误与使用 Axios 类似,但需要手动检查响应状态。以下是一些最佳实践和示例,展示如何在使用 fetch 时优雅地处理 403 错误。

1. 基本的 Fetch 请求

首先,您需要进行一个基本的 fetch 请求,并检查响应的状态码。

示例请求

fetch('/api/protected-resource').then(response => {if (response.status === 403) {// 处理 403 错误handleForbidden();return;}if (!response.ok) {throw new Error('Network response was not ok');}return response.json();}).then(data => {// 处理成功的响应数据console.log(data);}).catch(error => {console.error('Fetch error:', error);});

2. 创建一个处理 403 错误的函数

可以将处理 403 错误的逻辑封装到一个函数中,以便在多个地方重用。

示例处理函数

function handleForbidden() {// 这里可以更新 Vuex 状态、导航到 403 页面等console.log("您没有权限访问此页面。");// 例如,导航到 403 页面window.location.href = '/forbidden'; // 或使用 Vue Router 进行导航
}

3. 使用 async/await

使用 async/await 可以使代码更简洁和易读。

示例使用 async/await

async function fetchProtectedResource() {try {const response = await fetch('/api/protected-resource');if (response.status === 403) {handleForbidden();return;}if (!response.ok) {throw new Error('Network response was not ok');}const data = await response.json();console.log(data);} catch (error) {console.error('Fetch error:', error);}
}

4. 在 Vue 组件中使用 Fetch

在 Vue 组件中,可以使用 fetch 进行 API 请求,并处理 403 错误。

示例 Vue 组件

<template><div><h1>Protected Resource</h1><button @click="loadResource">加载资源</button><p v-if="error">{{ error }}</p></div>
</template><script>
export default {data() {return {error: null};},methods: {async loadResource() {this.error = null; // 重置错误状态try {const response = await fetch('/api/protected-resource');if (response.status === 403) {this.handleForbidden();return;}if (!response.ok) {throw new Error('Network response was not ok');}const data = await response.json();console.log(data); // 处理成功的响应数据} catch (err) {this.error = '发生错误: ' + err.message;}},handleForbidden() {this.error = '您没有权限访问此资源。';// 可以在这里导航到 403 页面// this.$router.push({ name: 'Forbidden' });}}
}
</script>

5. 处理全局错误

如果您需要在整个应用中处理 403 错误,可以创建一个全局的错误处理机制。

示例全局错误处理

在应用的入口文件中(如 main.js),您可以创建一个全局的 fetch 代理:

const originalFetch = window.fetch;window.fetch = async (...args) => {const response = await originalFetch(...args);if (response.status === 403) {handleForbidden();}return response;
};function handleForbidden() {console.log("您没有权限访问此页面。");// 例如,导航到 403 页面window.location.href = '/forbidden';
}

总结

使用 fetch 处理 403 错误需要手动检查响应状态,并根据需要进行处理。通过封装处理逻辑、使用 async/await 和在 Vue 组件中合理使用 fetch,您可以优雅地管理未授权访问。此外,创建全局的错误处理机制,可以进一步提升用户体验

http://www.dtcms.com/wzjs/221619.html

相关文章:

  • 台州自助建站百度关键词排名联系
  • 长沙优化网站哪家公司好重庆网站制作系统
  • 做网站用dw还是vs网络营销策略案例分析
  • 韩国做色情网站违法不营销课程培训都有哪些
  • 让别人访问自己做的网站搜索点击软件
  • 济南做网站公司关于营销的最新的新闻
  • b2c网站是什么意思百度网盘登陆入口
  • centos7.2做网站nba最新交易汇总实时更新
  • 网络营销推广方案有哪些seo搜索排名
  • 广西哪家公司做网站的web设计一个简单网页
  • 网站建设的常用技术有哪些渠道推广有哪些方式
  • 国家城乡住房建设部网站seo比较好的优化方法
  • 微信怎么做小程序的网站更换服务器对seo的影响
  • 网站策划书网站需求分析网络营销团队
  • 惠州网站设计哪家好seo页面链接优化
  • 做实验室信息的网站网络运营
  • 天津市城乡建设委员会官方网站2023广州疫情最新消息今天
  • 淘宝领券网站怎么做百度指数排名热搜榜
  • 最大的外包公司有哪些seo排名优化课程
  • 哪个网站推荐做挖机事的国家卫生健康委
  • 中国建设教育协会是个什么网站游戏app拉新平台
  • 西安哪家网站建设公司好可以下载新闻视频的网站
  • 做设计赚钱网站有哪些高端网站定制公司
  • 哪个网站做轴承外贸的人比较多软文范文大全
  • 山东网站制作策划教育培训机构官网
  • 漳州网站建设指数搜索
  • 中国做趋势的网站广州头条新闻最新
  • 可以做网站互联网营销师证书有用吗
  • 网站搭建计划书360关键词排名推广
  • 新昌做网站关键词提取