孟欣 - fetch的兼容性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/mx18519142864/article/details/80694568

fetch

原生window的fetch方法仅兼容

解决办法:在我们编写项目时需(引入 Promise 的 polyfill

原因: polyfill的基本原理是检测浏览器支不支持fetch,若不支持则用XHR。

注意:

由于IE8是ES3,所以需要引入ES5的polyfill的: es5-shim,es-sham

require('es6-promise').polyfill();

import 'isomorphic-fetch';

注意:

有些浏览器支持fetch,但是响应有中文会产生乱码

解决办法: 可引用fetch-detector   fetch-ie8

坑来了: 

fetch请求默认不携带cookie,需在第二个参数中设置

credentials: "include"

fetch用promise的polyfill方法,所以支持.then,.catch方法  所以应用时promise的缺点就是fetch的缺点

promise一旦执行,将无法终止,所以fetch请求一旦发出无法终止。无法知道请求到了哪一步,而XHR是能用abort终止。

猜你喜欢

转载自blog.csdn.net/mx18519142864/article/details/80694568