JavaScript Fetch API
Fetch API 接口允许 web 浏览器向 web 服务器发出 HTTP 请求。
不在需要 XMLHttpRequest 了。
浏览器支持
表中的数字指定了第一个完全支持 Web Worker 的浏览器版本:
| Chrome 42 | Edge 14 | Firefox 40 | Safari 10.1 | Opera 29 |
| 2015 年 4 月 | 2016 年 8 月 | 2015 年 8 月 | 2017 年 5 月 | 2015 年 4 月 |
Fetch API 实例
下面的示例获取一个文件并显示内容:
实例
<!DOCTYPE html><html><body><p id="demo">获取文件以更改此文本。</p><script>let file = "/example/js/fetch_info.txt"fetch (file).then(x => x.text()).then(y => document.getElementById("demo").innerHTML = y);</script></body></html>
由于 Fetch 是基于 async 和 await 的,因此上面的示例可能更容易理解:
实例
<!DOCTYPE html><html><body><p id="demo">获取文件以更改此文本。</p><script>getText("/example/js/fetch_info.txt");async function getText(file) {let x = await fetch(file);let y = await x.text();document.getElementById("demo").innerHTML = y;}</script></body></html>
或者这样更好:使用可理解的名称,而不是 x 和 y:
实例
<!DOCTYPE html><html><body><p id="demo">获取文件以更改此文本。</p><script>getText("/example/js/fetch_info.txt");async function getText(file) {let myObject = await fetch(file);let myText = await myObject.text();document.getElementById("demo").innerHTML = myText;}</script></body></html>
注意:如果出现乱码,请修改字符集为 uft-8