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

游戏门户网站开发资源前端seo搜索引擎优化

游戏门户网站开发资源,前端seo搜索引擎优化,想学电商从什么学起,怎么把做的网页放入网站1. Fetch API 简介 fetch 是 ES6 提供的基于 Promise 的 API,用于发送 HTTP 请求并处理服务器响应数据。与传统的 XMLHttpRequest 相比,fetch 语法更加简洁,使用 Promise 进行异步处理,避免了回调地狱。 1.1 fetch() 的基本用法 …

1. Fetch API 简介

  fetch 是 ES6 提供的基于 Promise 的 API,用于发送 HTTP 请求并处理服务器响应数据。与传统的 XMLHttpRequest 相比,fetch 语法更加简洁,使用 Promise 进行异步处理,避免了回调地狱。

1.1 fetch() 的基本用法

fetch(url, options) 返回一个 Promise,其中:

  • url:请求的地址。

  • options(可选):一个对象,用于设置请求方法、请求头、请求体等。

示例:

fetch('http://127.0.0.1/get').then(response => response.json()) // 解析 JSON 格式的响应数据.then(data => console.log("get.data:", data)).catch(error => console.log("get.error:", error.message)).finally(() => console.log("get.finally"));

2. 发送不同类型的 HTTP 请求

2.1 发送 GET 请求

GET 请求不需要 body,通常用于获取数据。

fetch('http://127.0.0.1/get').then(response => response.json()).then(data => console.log("get.data:", data)).catch(error => console.log("get.error:", error.message)).finally(() => console.log("get.finally"));

2.2 发送 POST 请求(表单数据)

当需要提交数据时,可以使用 POST 方法,并在 headers 指定 Content-Type

fetch('http://127.0.0.1/post', {method: 'POST',headers: {'Content-Type': 'application/x-www-form-urlencoded'},body: new URLSearchParams({name: 'theodore',web: 'https://blog.csdn.net/Theodore_1022'})
})
.then(response => response.json())
.then(data => console.log("post.data:", data))
.catch(error => console.log("post.error:", error.message))
.finally(() => console.log("post.finally"));

2.3 发送 POST 请求(JSON 数据)

提交 JSON 数据时,Content-Type 需要设置为 application/json,并使用 JSON.stringify() 处理 body

fetch('http://127.0.0.1/postJson', {method: 'POST',headers: {'Content-Type': 'application/json'},body: JSON.stringify({name: 'theodore',web: 'https://blog.csdn.net/Theodore_1022'})
})
.then(response => response.json())
.then(data => console.log("postJson.data:", data))
.catch(error => console.log("postJson.error:", error.message))
.finally(() => console.log("postJson.finally"));

3. 处理 Fetch 响应

fetch 返回的 Promise 解析后得到的是一个 Response 对象,需要进一步解析数据。

fetch('http://127.0.0.1/get').then(response => {if (!response.ok) {throw new Error(`HTTP 错误!状态码: ${response.status}`);}return response.json();}).then(data => console.log("get.data:", data)).catch(error => console.log("get.error:", error.message));

3.1 解析不同格式的响应数据

fetchResponse 对象提供多个方法来解析数据:

  • response.json():解析 JSON 格式数据。

  • response.text():解析文本数据。

  • response.blob():解析二进制数据,如图片、音视频。

  • response.arrayBuffer():解析为 ArrayBuffer,用于处理二进制流数据。

示例:

fetch('http://127.0.0.1/data').then(response => response.text()).then(text => console.log("text data:", text));

4. 处理超时请求

fetch 默认没有超时机制,可以使用 AbortController 来手动终止请求。

const controller = new AbortController();
const signal = controller.signal;setTimeout(() => controller.abort(), 5000); // 5 秒后取消请求fetch('http://127.0.0.1/timeout', { signal }).then(response => response.json()).then(data => console.log("data:", data)).catch(error => {if (error.name === 'AbortError') {console.log('请求超时,已取消');} else {console.log('请求失败:', error.message);}});

5. 处理跨域问题

如果请求跨域,需要服务器配置 CORS(跨域资源共享)。

  • 服务器返回 Access-Control-Allow-Origin: * 允许跨域访问。

  • 如果涉及 credentials(如 cookies),需要设置 fetchcredentials

fetch('http://127.0.0.1/protected', {credentials: 'include' // 允许携带 cookies
})
.then(response => response.json())
.then(data => console.log("data:", data));

6. 结语

  fetch 是 ES6 现代 Web 开发中常用的 API,它相比传统 XMLHttpRequest 更加简洁且基于 Promise,使得异步代码更加优雅。掌握 fetch,可以更轻松地处理 HTTP 请求,提高前端开发效率。

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

相关文章:

  • 网站建设优秀公司宁波网站优化公司哪家好
  • java做视频网站有哪些内容吗最好用的免费建站平台
  • 常州做金属网格公司搜索优化推广公司
  • 长春百度网站优化百度文库网页版
  • 山东建设局网站首页线上营销推广方案模板
  • 网站规划的原则有哪些内容app推广渠道在哪接的单子
  • 怎么提高网站速度市场营销策划方案
  • 如何做网站企划案seo排名优化联系13火星软件
  • 网站建设与制作微信广告朋友圈投放
  • 网站建设与维护经营范围老司机们用的关键词有哪些
  • 做进口产品的网站百度seo哪家公司好
  • 统一手机网站搜狗官网
  • 营销型企业网站建设方案百度指数分析
  • 网站建设价格标准方案如何seo网站推广
  • 广西政府网站政务新媒体建设调查推广的软件
  • 网站服务器建设商推广软件赚钱
  • 长沙做黄叶和网站的公司有哪些营销推广工作内容
  • 如何做实体店的网站网站推广网络推广
  • 专题页网站怎么做杭州seo排名费用
  • 公司建设网站费用做那个科目青岛seo网站排名优化
  • 达州建设网站电商中seo是什么意思
  • 南宁市网站建设哪家好如何在百度做免费推广产品
  • wordpress4.9.3漏洞搜索引擎排名优化
  • diy网站建设武汉seo公司
  • 从零开始做网站百度提交网址
  • 网站建设教程所需文字腾讯企点app
  • 买网站的域名网络营销工作内容是什么
  • 上海做网站公司排名优化营商环境个人心得体会
  • 长沙一键建站系统福州seo服务
  • 个人备案的域名可以做网站吗哪里有免费的网站推广