fetch与ajax的区别
Posted wangziqiang123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fetch与ajax的区别相关的知识,希望对你有一定的参考价值。
一. Fetch是 window 下面的一个方法
Fetch写法:
1 | fetch('url', |
Fetch 常见处理:
1 | fetch('/user.html') |
JSON
1 | fetch('/users.json') |
Post form
1 |
|
File upload
1 | var input = document.querySelector('input[type="file"]') |
….
等等
二.Ajax
定义:
AJAX全称“Asynchronous javascript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。本质是使用XMLHttpRequest 来请求数据。
举个栗子
1 | function (options) |
总结
1.从 fetch()返回的 Promise 将不会拒绝HTTP错误状态, 即使响应是一个 HTTP 404 或 500。相反,它会正常解决 (其中ok状态设置为false), 并且仅在网络故障时或任何阻止请求完成时,它才会拒绝
2.默认情况下, 如果站点依赖维护用户会话(发送cookie,必须设置credentials init选项), fetch 则不会发送或接收来自服务器的任何cookie,导致未经身份 验证的请求。
3.在语法上fetch 比ajax简洁了许多。
4.兼容上目前fetch 兼容不是太好 使用时需要引入 polyfill :GitHub - github/fetch: A window.fetch JavaScript polyfill.
在默认情况下 fetch不会接受或者发送cookies,如果需要只能手动设置 credentials: ‘include’
1 | fetct('/api', |
参考链接:
https://github.com/github/fetch
https://segmentfault.com/a/1190000003810652
https://developer.mozilla.org/zh-CN/docs/Web/API/WindowOrWorkerGlobalScope/fetch
原文:大专栏 fetch与ajax的区别
以上是关于fetch与ajax的区别的主要内容,如果未能解决你的问题,请参考以下文章