Fetch API
Fetch API是新的ajax解决方案 Fetch会返回Promise
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <script type="text/javascript"> /* Fetch API 基本用法 fetch(url).then() 第一个参数请求的路径,Fetch会返回Promise,所以我们可以使用then,拿到请求成功的结果 */ fetch('http://localhost:3000/fdata').then(function (data) { // text()方法属于fetchAPI的一部分,它返回一个Promise实例对象,用于获取后台返回的数据 console.log(data); return data.text(); }).then(function (data) { console.log(data); }) </script> </body> </html>
// GET参数传递-传统URL fetch('http://localhost:3000/books?id=123', { method: 'get' }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) }); // GET参数传递-restful形式的URL fetch('http://localhost:3000/books/456', { method: 'get' }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) }); // DELETE请求方式参数传递 fetch('http://localhost:3000/books/789', { method: 'delete' }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) }); // POST请求传参 fetch('http://localhost:3000/books', { method: 'post', body: 'uname=lisi&pwd=123', headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) }); // POST请求传参 fetch('http://localhost:3000/books', { method: 'post', body: JSON.stringify({ uname: '张三', pwd: '456' }), headers: { 'Content-Type': 'application/json' } }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) }); // PUT请求传参 fetch('http://localhost:3000/books/123', { method: 'put', body: JSON.stringify({ uname: '张三', pwd: '789' }), headers: { 'Content-Type': 'application/json' } }).then(function (data) { return data.text(); }).then(function (data) { console.log(data) });
注意:
后台接口允许跨域时,需要将允许的请求头放置在数组中。
res.header('Access-Control-Allow-Headers', ['Content-Type','mytoken']);
/* Fetch响应结果的数据格式 */ fetch('http://localhost:3000/json').then(function(data){ // return data.json(); // 将获取到的数据使用 json 转换对象 return data.text(); // 将获取到的数据 转换成字符串 }).then(function(data){ // console.log(data.uname) // console.log(typeof data) var obj = JSON.parse(data); console.log(obj.uname,obj.age,obj.gender) })