客户端 02ajax.html 脚本代码:
<body>
<script>
var xhr = new XMLHttpRequest();
xhr.open('get', 'http://localhost:3000/responseData');
xhr.send();
xhr.onload = function() {
// 由于获取到responseText这个响应内容的是一个字符串,不方便对数据进行针对提取
// 所以我们要转为JSON对象
var responseText = JSON.parse(xhr.responseText);
var str = '<h2>姓名:' + responseText.name + '</h2>';
str+= '<h2>年龄:' + responseText.age + '</h2>';
document.body.innerHTML = str;
}
</script>
</body>
服务端测试代码:(app.js)
const express = require('express');
const app = express();
//指明静态文件目录位置,以便浏览器中对(客户端)静态文件的加载
app.use(express.static(path.join(__dirname, 'public')));
app.get('/responseData', (req, res) => {
res.send({ "name": 'xibing', "age": 20 });
})
app.listen(3000);
console.log('3000已启动');
1、服务端响应内容是json类型
2、客户端获通过responseText来获取响应内容---字符串类型
3、为了对json数据做提取,将字符串类型的json数据转为对象类型,使用JSON.parse()
最终效果就是像客户端中写的一样,把响应数据中的name和age获取到并显示在浏览器页面中: