1. 搭建服务
- server.js
//1. 引入express
const {
response } = require('express');
const express = require('express');
const {
request } = require('http');
//2. 创建应用对象
const app = express();
//3. 创建路由规则
//request 是对请求报文的封装
//response 是对响应报文的封装
//两个参数的名字可以随便定义
// '/server' -> 地址后跟server就可以访问到对应的内容
app.all('/server',(request,response)=>{
//设置响应头--设置允许跨域
response.setHeader('Access-Control-Allow-Origin','*');
//响应一个数据
const data = {
name:'atguigu',
};
//对对象进行字符串转换
let str = JSON.stringify(data);
//设置响应
response.send(str);
});
//4. 监听端口启动服务
app.listen(8000, ()=>{
console.log("服务已经启动,8000端口监听中...");
});
2. 创建交互页面
- JSON.html
<!-- 实现效果:按下键盘按键就向服务端发送请求 -->
<div id="result"></div>
<script>
//获取元素
const result = document.getElementById('result');
//绑定键盘按下事件
window.onkeydown = function(){
//1. 创建对象
const xhr = new XMLHttpRequest();
//设置响应数据类型 自动转换
xhr.responseType = 'json';
//2. 初始化
xhr.open('GET','http://127.0.0.1:8000/server');
//3. 发送
xhr.send();
//4. 事件绑定
xhr.onreadystatechange = function(){
if(xhr.readyState == 4){
if(xhr.status >= 200 && xhr.status < 300){
//手动转换
// let data = JSON.parse(xhr.response);
// console.log(data);
// result.innerHTML = data.name;
//自动转换
result.innerHTML = xhr.response.name;
}
}
}
}
</script>