fetch是一个无需使用ajax发送网络请求的函数
使用fetch函数请求数据后,会返回一个promise对象,处理即可
fetch有两个参数 fetch('url', 配置对象(如请求的方法,body,向请求头添加一些参数)
处理fetch的promise 会返回(对象)响应相关的信息(respone)和响应原型上的方法这些方法都是fetch实现的 在使用原型上的方法 返回的也是一个promise对象 因此我们在做进一步的处理 就能拿到想要的数据
假设我们需要处理服务端返回给我们的json数据 我们直接调用 respone.json() 并返回 实际上是又返回了一个新的promise 我们在做一下处理即可拿到数据
fetch('url', { methods: 'GET'} ).then( respone => respone.json() ).then( data => { console.log(data) }) // 这里的data就是服务器返回给我们的json数据
以下是用fetch发送post请求
fetch('http://127.0.0.1:8888', { method: 'POST', // 请求方法 body: JSON.stringify({ name: ipt.value }), // 设置请求头 告诉服务器 内容的类型是一个json headers: { 'Content-Type': 'application/json' } }).then( response => { return response.json()// 调用json方法返回一个promise 交给下一个then来处理 可以拿到服务器返回json的对象 }).then( data => { console.log(data); // 拿到服务器返回的json对象 })