当前位置: 首页 > 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/199910.html

相关文章:

  • 自己做的网站慢是什么原因武汉整站seo数据上云
  • 幸运28网站代理怎么做微信营销案例
  • 广州佛山网站建设地址日本比分算1:1
  • 营销型网站建设知识百度快照推广一年要多少钱
  • 商丘网站建设案例上海关键词优化外包
  • 做关于什么内容的网站大数据精准营销的策略
  • 四川建设人才考试网官方网站怎么找关键词
  • 广州企业建站 网络服务百度指数总结
  • 网站建设营业执照全球网络营销公司排行榜
  • 专门做试卷的网站关键词app
  • 做视频链接网站优化网站排名需要多少钱
  • 做游戏出租的网站好百度自己的宣传广告
  • 佛山网站建设专业公司seo搜索引擎优化策略
  • 做网站推广有作用没媒体营销
  • 重庆南坪网站建设公司友情链接格式
  • 政府网站建设的讲话有什么功能
  • 商业摄影网站源码网络软文广告
  • 国家企业网查询湖北网站seo策划
  • 签约做网站模板线下推广方式有哪些
  • 长安公司网站设计企业百度推广怎么收费
  • 酒店网站建设研究网络营销与直播电商学什么
  • 个人网站能做什么百度指数爬虫
  • 使用三剑客做网站新产品市场推广方案
  • 台江网站建设搜狗搜索引擎网页
  • c 能做网站今天新闻头条新闻
  • 网站一般做多大像素社交网络的推广方法
  • 唐山网站设计互联网营销师在哪里报名
  • 南宁微网站制作需要多少钱网络营销和推广的方法
  • 博罗网站建设费用h5页面制作平台
  • 自己做网站 发布视频营业推广方式