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

做电子商务网站沈阳网站制作优化推广

做电子商务网站,沈阳网站制作优化推广,传奇动态网站怎么做,视频网站的服务器多大目录 一、为什么需要Request? 二、XMLHttpRequest (XHR) 基础 1. 创建请求 2. 处理响应 3. 关键配置 三、Fetch API(推荐方案) 1. 发起GET请求 2. 发起POST请求 3. 高级配置项 四、Request对象封装(Fetch进阶&#xf…

目录

一、为什么需要Request?

二、XMLHttpRequest (XHR) 基础

1. 创建请求

2. 处理响应 

3. 关键配置

三、Fetch API(推荐方案)

1. 发起GET请求

2. 发起POST请求 

3. 高级配置项

四、Request对象封装(Fetch进阶)

五、错误处理最佳实践

1. Fetch API错误捕获

2. 超时控制(结合AbortController) 

六、总结与选择建议


一、为什么需要Request?

在Web开发中,前端常需从服务器获取数据(如用户信息、商品列表)或提交数据(如登录表单)。JavaScript通过HTTP请求实现这一过程,核心工具为:

  1. Fetch API(现代标准,基于Promise)

  2. XMLHttpRequest(传统方案,兼容旧浏览器)

 

二、XMLHttpRequest (XHR) 基础
1. 创建请求
const xhr = new XMLHttpRequest();  
xhr.open('GET', 'https://api.example.com/data');  
xhr.send();  

 

2. 处理响应 
xhr.onload = function() {  if (xhr.status >= 200 && xhr.status < 300) {  console.log(JSON.parse(xhr.responseText));  } else {  console.error('请求失败:', xhr.status);  }  
};  

 

3. 关键配置
  • 设置请求头:xhr.setRequestHeader('Content-Type', 'application/json')

  • 指定响应类型:xhr.responseType = 'json'

适用场景:兼容IE等旧浏览器。

 

三、Fetch API(推荐方案)
1. 发起GET请求
fetch('https://api.example.com/data')  .then(response => {  if (!response.ok) throw new Error('网络响应异常');  return response.json(); // 解析JSON数据  })  .then(data => console.log(data))  .catch(error => console.error('请求失败:', error));  

 

2. 发起POST请求 
fetch('https://api.example.com/users', {  method: 'POST',  headers: {  'Content-Type': 'application/json'  },  body: JSON.stringify({ name: 'John', age: 30 })  
});  
3. 高级配置项
参数说明
methodHTTP方法(GET/POST/PUT等)
headers请求头对象(如身份验证Token)
body请求体数据(支持FormData、Blob等)
mode请求模式(如corsno-cors
cache缓存策略(no-storereload

 

四、Request对象封装(Fetch进阶)

可复用配置的Request对象示例:

const request = new Request('https://api.example.com/data', {  method: 'GET',  headers: new Headers({  'Authorization': 'Bearer token123'  })  
});  fetch(request)  .then(response => response.json())  .then(data => console.log(data));  

 

五、错误处理最佳实践
1. Fetch API错误捕获
fetch(url)  .then(response => {  if (!response.ok) {  throw new Error(`HTTP错误 ${response.status}`);  }  return response.json();  })  .catch(error => {  console.error('请求异常:', error);  // 显示用户提示  });  

 

2. 超时控制(结合AbortController) 
const controller = new AbortController();  
const timeoutId = setTimeout(() => controller.abort(), 5000);  fetch(url, { signal: controller.signal })  .then(/* ... */)  .catch(() => console.log('请求超时'))  .finally(() => clearTimeout(timeoutId));  

六、总结与选择建议
特性Fetch APIXMLHttpRequest
语法简洁度✅ Promise链式调用❌ 回调嵌套
流式数据处理✅ 支持ReadableStream❌ 不支持
中断请求✅ AbortController✅ xhr.abort()
浏览器兼容性❌ 不兼容IE✅ 全浏览器兼容

推荐策略

  • 现代项目首选 Fetch API

  • 需兼容IE时降级为 XMLHttpRequest

  • 复杂场景使用库(如Axios)封装

 

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

相关文章:

  • 电脑做网站用word百度游戏风云榜
  • wordpress厨房家居主题关键词排名优化怎么样
  • 做网站的公司都有哪些焦作网络推广哪家好
  • app软件免费模板下载网站seo推广优化平台
  • 网站调用字体优化关键词的方法正确的是
  • ppt中超链接网站怎么做免费信息发布平台网站
  • 东莞市最新疫情情况百度seo关键词工具
  • wordpress伪静态不收录seo关键词排名优化品牌
  • 增城电子商务网站建设线上培训机构
  • 公司网站框架真正免费的网站建站平台有哪些
  • 建设工程交易服务中心关键词优化seo费用
  • 做网站阜阳免费b站软件推广网站
  • 永久免费的自建网站指数是什么意思
  • 青岛网站建设方案策划广告代理
  • 学生兼职做网站重庆seo关键词排名
  • 模板网站如何引擎收录做推广的都是怎么推
  • 网站建设静态部分报告总结网站开发是做什么的
  • 深圳品牌做网站公司哪家好广州seo网站推广优化
  • 长春网站优化常识报个计算机培训班多少钱
  • asp网站发邮件今日热搜头条
  • 帮人做诈骗网站获利西安百度提升优化
  • 四川住建厅官方网站的网址免费推广的网站平台
  • 网站开发亿码酷技术seo网址超级外链工具
  • 企业解决方案工作组东莞seo推广公司
  • 网店运营与管理搜索引擎推广与优化
  • 网站建设意见建议东莞网络推广托管
  • 微信公众号如何创建seo百度推广
  • 南京市工程建设交易中心网站公司网站设计公司
  • 山西网站制作设计石家庄百度关键词搜索
  • 网站建设规划文档关键词是什么