fetch与XHR的区别

161 阅读1分钟
  1. fetch是浏览器基层提供的API可以直接使用,axios是第三方包,需要先下载引入才能使用。
  2. fetch对于响应回来的状态码不在 200 - 299 的范围内,fetch返回的Promise不会标记为reject,而是resolve但返回值的ok属性为false。axios对于响应状态码不在200 - 299的范围时,会把返回的Promise标记为reject。
  3. fetch需要手动对请求数据和响应数据转化,axios会自动对请求数据和响应数据进行转化。
fetch(url, {
        method: **,
        header: {***}
        ***,
        body: JSON.stringify(**)    // 如果content-type为'application/json'
    })
    .then((response) => response.json())
    .then(data => console.log(data))
    
response.json() 返回一个被解析为JSON格式的Promise对象。