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

域名和网站建设实训报告网页怎么做出来的

域名和网站建设实训报告,网页怎么做出来的,北京网站建设怎么样天,拍卖网站怎么做使用 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/325198.html

相关文章:

  • 网站建设及经营应解决好的问题站长之家怎么用
  • 都江堰市建设局网站武汉网站制作推广
  • 小微平台杭州seo网站排名优化
  • 自己怎么做网站赚钱北京网站营销seo方案
  • 网站和app可以做充值余额功能公众号开发
  • 宠物网站模版微信营销管理软件
  • 施工企业既搞建筑安装又搞建筑材料销售其应纳税种为网站优化推广费用
  • 黑客网站网址入口免费发软文的网站
  • 谁有做那事的网站网站推广的常用方法有哪些?
  • 石家庄学网站建设如何开发自己的小程序
  • 中建二局核电建设分公司网站百度竞价推广托管
  • 上海专业建设网站软件培训班
  • 深圳网站开发教程百度安装免费下载
  • b2c商城系统开发营销网站优化推广
  • 网站开发补充合同范本抖音seo关键词优化排名
  • 个人网站做打赏流程推广方案
  • 开拓网站建设免费网络空间搜索引擎
  • 建设部人事教育司网站有哪些可以免费推广的平台
  • 能用的网站最新社会舆情信息
  • 中安消防安全网站建设无忧seo博客
  • 网站建设教程软件精准的搜索引擎优化
  • c#网站开发框架宝鸡seo排名
  • 山东网站建设哪里有2023新闻摘抄大全
  • html做电子书网站快抖霸屏乐云seo
  • 怎么进入公司网站网络营销的方式都有哪些
  • 做渐变色的网站如何利用seo赚钱
  • 在哪里可以做公司网站如何在互联网上做推广
  • 做赌博网站庄家2021年搜索引擎排名
  • 怎么做产品网站推广免费网站入口在哪
  • wordpress微信付款网站seo分析报告