一、前言
- 原生的ajax,也就是XMLHttpRequest,使用起来不仅繁琐,而且还顾及浏览器环境,JQuery的ajax对此进行了封装,挺好用的
- fetch 是一种XMLHttpRequest的替代方案,但是目前浏览器的支持同样不太理想
- fetch 使用promise ,所以使用前要确保了解promise
- 本人开发环境是需要webpack
- Axious
二、使用
为了使更多浏览器支持需要下载isomorphic-fetch
,而fetch 使用的是promise 所以还需要es6-promise
来支持更多的浏览器
npm install --save isomorphic-fetch es6-promise
require('es6-promise').polyfill();
require('isomorphic-fetch');
fetch('/conf', { // URL如不写http等,则会使用host自动补全
method: 'POST',
body:JSON.stringify({user:this.state.user, password:this.state.password}),
headers: new Headers({
'Content-Type': 'application/json', //发送类型
'Accept': 'application/json' // 通过头指定,获取的数据类型是JSON
})
})
.then((res)=>{
return res.json() // 返回一个Promise,可以解析成JSON
})
.then((res)=>{
console.log(res) // 获取JSON数据
})