Ajax - JSON响应

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>

猜你喜欢

转载自blog.csdn.net/weixin_45663697/article/details/110553724