文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue网络请求方案原生网络请求和js网络请求库的示例分析

2023-06-21 20:06

关注

这篇文章主要介绍vue网络请求方案原生网络请求和js网络请求库的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一、 原生网络请求

1. XMLHttpRequest(w3c标准)   

// 没有promise时的产物

当时的万物皆回调,太麻烦

2. Fetch   

// html5提供的对象,基于promise  因为promise的存在,为了简化网络请求。

使用 Fetch - Web API 接口参考 | MDN

Fetch是新的ajax解决方案 Fetch会返回Promise对象。fetch不是ajax的进一步封装,而是原生js,没有使用XMLHttpRequest对象。

参数:

第一个参数是URL:

第二个设置请求的参数,是可选参数

返回使用了Promise 来处理结果/回调

fetch(url, options).then(res=>res.json()/text()).then(ret=>console.log(ret))

兼容性问题:

ie低版本不兼容Fetch怎么办? =》 用第三方的Fetch库【fetch-polyfill】

使用fetch进行网络请求 let url1  url2  两个地址同时执行完毕后才进行相关操作 Promise.all

let url1 不管它是否执行成功我都要去处理 Promise.finally

vue网络请求方案原生网络请求和js网络请求库的示例分析

 vue网络请求方案原生网络请求和js网络请求库的示例分析

 vue网络请求方案原生网络请求和js网络请求库的示例分析

封装 -- fetch网络请求

封装 -- fetch网络请求_tby_pr的博客-CSDN博客

二、 js网络请求库

axios

以promise类型返回 json 数据。

文档:使用说明 · Axios 中文说明 · 看云

Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和node.js中。

能拦截请求和响应,自动转换JSON数据。axios也是vue作者推荐使用的网络请求库。

// axios.get/post/put/deleteaxios.get(url,config) // config可以设置头信息axios.post(url,data,config)axios.put(url,data,config)axios.delete(url,data,config)

vue网络请求方案原生网络请求和js网络请求库的示例分析

或通过实例请求

 vue网络请求方案原生网络请求和js网络请求库的示例分析

通过实例请求,添加设置信息(常用)!

vue网络请求方案原生网络请求和js网络请求库的示例分析

不通过实例做统一设置(不常用),因为是给所有人都设置

// 统一给axios设置axios.defaults.timeout = 10000axios.defaults.baseURL = 'http://localhost:3000'axios.defaults.headers.a = 'admin'

post提交

// post提交axios.post(url, { id: 1, name: 'aaaa' }).then(res => console.log(res.data))

 或者    axios直接用 # 标准写法(也不常用)

// axios直接用axios({  url,  method:'get',  data:{}}).then(res => console.log(res))

拦截器   切面编程

(流水线)   (中间件)

1. 请求拦截器(能调用多次)

axios.interceptors.request.use(config => {  // 统一设置请求域名地址  config.baseURL = 'http://localhost:3000'  // 超时时间  config.timeout = 1000  // 设置头信息  config.headers.token = 'mytoken login'  return config;}, err => Promise.reject(err))

2. 响应拦截器(处理、过滤)

axios.interceptors.response.use(response => {  return response.data}, err => {  // 可以在响应拦截器中统一去处理,请求异常  alert('请求失败了,请重新请求一次')  return Promise.reject(err)});

以上是“vue网络请求方案原生网络请求和js网络请求库的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     801人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     348人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     311人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     432人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     220人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯