const tBodyEle = document.getElementById('listBody'); // fetch 的 第一个参数 为 请求的地址;第二个参数为 请求的配置对象 fetch('http://localhost:3000/users', { method: 'get', // 设置请求的方法 }) .then((res) => { // 请求成功 // 这里看一下成功的值 是什么 // console.log(res); // res 是 一个 Response对象 我们不能直接处理 // 需要使用res.json()方法将响应对象的数据 转换成 js对象才可以 return res.json(); }) .then(({ code, msg, data }) => { // 在这个then方法中 去接收 res.json()的结果 // console.log(data); console.log(msg); // 2 校验数据的正确性,只有code == 200时 数据是正确的 if (code !== 200) { return; } var tr, td; data.forEach((user) => { // 每循环一次,就新建一个tr DOM对象 tr = document.createElement('tr'); // 字符串拼接,在原生js操作dom中会频繁发生,但是存在一个问题 就是代码可读性 太低 // 因此 在ES6 对字符串进行了一个扩展。叫做 模板字符串。 // 模板字符串 中 可以 换行;也可以通过${}语法 将外部表达式的值 嵌入字符串中的指定位置 td = ` avatar ${user.name} ${user.password} ${user.age} ${user.sex === '0' ? '女' : '男'} `; // 这就是模板字符串 tr.innerHTML = td; // 下次循环开始前,记得将新建tr添加给tbody元素 tBodyEle.append(tr); }); }) .catch((reason) => { // 当请求失败的时候,输出一下失败的原因 console.log(reason); }); // xhr.onload = function () { // let res = xhr.responseText; // // console.log(res); // // res 就是 服务器端 响应给我们的 json字符串类型数据 // // 接下来处理 数据 // // 就是使用table表格来展示这些数据 // //TOOD 将数据 转换成 tr,添加到tbody中 // // 1 将json数据 -> js对象 // // let data = JSON.parse(res); // let { code, msg, data } = JSON.parse(res); // console.log(msg); // // 2 校验数据的正确性,只有code == 200时 数据是正确的 // if (code !== 200) { // return; // } // // 3 数据是正确的 // // data 变量 存的就是所有用户信息对象 是一个数组 // var tr, td; // data.forEach((user) => { // // 每循环一次,就新建一个tr DOM对象 // tr = document.createElement('tr'); // td = // 'avatar' + // '' + // user.name + // '' + // '' + // user.password + // '' + // '' + // user.age + // '' + // '' + // (user.sex === '0' ? '女' : '男') + // ''; // // console.log(td); // tr.innerHTML = td; // // 下次循环开始前,记得将新建tr添加给tbody元素 // tBodyEle.append(tr); // }); // // console.log(`output->data`, data); // }; // xhr.send();