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

赚钱的游戏软件一天赚200元简述什么是seo

赚钱的游戏软件一天赚200元,简述什么是seo,wordpress主题更新了,全屋设计效果图红宝书第十九讲:详解JavaScript的Fetch API与Ajax请求 资料取自《JavaScript高级程序设计(第5版)》。 查看总目录:红宝书学习大纲 一、基本概念:为什么需要Fetch? Fetch API是浏览器提供的现代网络请求工…

红宝书第十九讲:详解JavaScript的Fetch API与Ajax请求

资料取自《JavaScript高级程序设计(第5版)》。
查看总目录:红宝书学习大纲


一、基本概念:为什么需要Fetch?

Fetch API是浏览器提供的现代网络请求工具,替代传统的Ajax(XMLHttpRequest)。核心特点:

  • 基于Promise → 代码更简洁(告别回调函数嵌套) 12
  • 支持流式处理 → 大文件分块传输时不卡死页面 [^6]
  • 灵活配置请求头/请求方法 → 适配各种API需求 34

示例1:发送最简单的GET请求

// 请求JSON数据并解析
fetch('https://api.example.com/data').then(response => response.json()) // 解析为JSON → 返回新Promise.then(data => console.log('获取的数据:', data)).catch(error => console.error('请求失败:', error));

1: 资料1指出fetch()唯一必传参数是资源URL
5: 资料5说明Fetch返回Promise并统一处理响应


二、配置请求:POST请求与自定义参数

通过第二个参数传入配置对象,设置方法、请求头、请求体等 34

示例2:发送带JSON数据的POST请求

const userData = { name: '小明', age: 18 };fetch('https://api.example.com/submit', {method: 'POST',headers: {'Content-Type': 'application/json' // 告诉服务器发送的是JSON},body: JSON.stringify(userData) // 将对象转为JSON字符串
}).then(response => response.text()).then(text => console.log('服务器响应:', text));

3: 资料3展示如何发送JSON和表单数据
4: 资料4提供Request对象的配置示例


三、处理不同类型响应

Fetch返回的Response对象提供多种解析方法:5

  • .json() → 解析为JSON对象
  • .text() → 解析为纯文本
  • .blob() → 解析为二进制数据(如图片)

示例3:下载并显示图片

fetch('https://example.com/image.png').then(response => response.blob()).then(blob => {const img = document.createElement('img');img.src = URL.createObjectURL(blob);document.body.appendChild(img);});

四、错误处理:网络错误≠HTTP错误

需要两步处理错误

  1. 网络层错误(如断网) → 自动触发.catch()
  2. HTTP错误状态码(如404/500) → 需手动检查响应状态

示例4:完整的错误处理

fetch('https://api.example.com/404-page').then(response => {if (!response.ok) { // 检查HTTP状态码是否成功(200-299)throw new Error(`HTTP错误! 状态码: ${response.status}`);}return response.json();}).then(data => console.log(data)).catch(error => console.error('错误信息:', error)); // 处理所有错误

5: 资料5强调需手动检查response.ok


五、跨域请求(CORS)的配置

浏览器默认阻止跨域请求,需设置服务端响应头允许,或配置请求的mode14

// 允许跨域请求(需服务器支持)
fetch('https://another-domain.com/data', {mode: 'cors', // 默认值,可选 'no-cors'等headers: {'Authorization': 'Bearer token123' // 认证令牌}
});

六、高级用法:上传文件

示例5:通过FormData上传文件

<input type="file" id="fileInput">
const fileInput = document.querySelector('#fileInput');
const formData = new FormData();
formData.append('file', fileInput.files[0]); // 添加文件fetch('https://api.example.com/upload', {method: 'POST',body: formData // 自动设置正确的Content-Type
}).then(response => response.json()).then(result => console.log('上传成功:', result));

3: 资料3演示使用FormData发送文件


对比传统Ajax(XMLHttpRequest)

为什么推荐Fetch? 2

  1. 代码更简洁 → 无需监听多个事件(onload/onerror
  2. Promise链式调用 → 更易维护
  3. 自动处理编码 → 如直接解析JSON、Blob

目录:总目录
上篇文章:红宝书第十八讲:详解JavaScript的async/await与错误处理

脚注


  1. 《JavaScript高级程序设计(第5版)》中说明fetch基本用法与请求初始化 ↩︎ ↩︎ ↩︎

  2. 《JavaScript高级程序设计(第5版)》对比XHR与Fetch的优缺点 ↩︎ ↩︎

  3. 《JavaScript高级程序设计(第5版)》提供发送表单数据与文件的实例 ↩︎ ↩︎ ↩︎ ↩︎

  4. 《JavaScript高级程序设计(第5版)》展示Request对象的详细配置 ↩︎ ↩︎ ↩︎ ↩︎

  5. 《JavaScript高级程序设计(第5版)》强调需手动检查响应状态码和错误处理 ↩︎ ↩︎ ↩︎

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

相关文章:

  • 一般网站如何做防采集的什么都能搜的浏览器
  • 网站qq访客获取宁波seo关键词排名优化
  • b2b外贸网站如何做推广手机怎么做网站免费的
  • 有什么做海报的网站吗百度广告推广怎么收费了
  • 聊城做网站费用价格代运营公司怎么找客户
  • 上海用哪个网站网购软文交易平台
  • b2b电子商务平台网站开发企业网络营销系统分析报告
  • 网站营销定义nba赛程排名
  • 营销型网站策划建设分为哪几个层次国家培训网官网
  • 谁可以做网站杭州小程序建设公司
  • 重庆建站培训网站源码平台
  • 2008如何添加iis做网站医院网络销售要做什么
  • 那个网站详情页做的好网站排行
  • 做视频网站 带宽软文代发价格
  • 微官网和移动网站区别html网页制作步骤
  • 深圳电子商城网站建设网站搭建需要什么技术
  • 网站外链广州seo站内优化
  • 徐东做网站新产品推广方案范文
  • 头像设计制作网站免费收录网站
  • 做调查问卷用的网站或软件短链接在线生成器
  • 做网站的公司天津seog
  • 石家庄英文网站建设域名
  • 小说做任务赚钱的网站优化电池充电什么意思
  • 网站开发语言怎么看最近一周的新闻
  • 提升型企业网络营销网站泰安网络推广培训
  • 360网站建设基本情况如皋网站制作
  • 用css代码做新闻网站最新新闻事件摘抄
  • 枣庄哪里有做网站设计全网营销系统怎么样
  • 顺德网站定制设计企业网络营销策划案例
  • 郑州企业网站建设seo快速排名首页