fetch

作者: 怎么昵称 | 来源:发表于2019-02-16 16:01 被阅读0次

mdn 对fetch的表述是这样的:

Fetch是一个现代的概念, 等同于XMLHttpRequest。它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性。

fetch的API是基于Promise设计的。

````

// 原生AJAX

var xhr = new XMLHttpRequest();

xhr.open('GET', url);

xhr.onreadystatechange = function() {

    if (xhr.readyState === 4 && xhr.status === 200) {

        console.log(xhr.responseText)  // 从服务器获取数据

    }

}

xhr.send()

// fetch

fetch(url)

.then(response => {

        if (response.ok) {

            response.json()

        }

    }).then(data => console.log(data))

    .catch(err => console.log(err))

````

Fetch 不同之处:

Fetch 请求默认是不带 cookie 的,需要设置 fetch(url, {credentials: 'include'})

服务器返回 400,500 错误码时并不会 reject,只有网络错误这些导致请求不能完成时,fetch 才会被 reject。

相关文章

网友评论

      本文标题:fetch

      本文链接:https://www.haomeiwen.com/subject/ygxieqtx.html