【Ajax】笔记-服务端响应JSON数据

服务端响应JSON数据

构建测试案例

键盘按键触发请求服务端:

  1. 键盘按下触发事件
html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>JSON响应</title>
    <style>
        #result{
            width:200px;
            height:100px;
            border:solid 1px #89b;
        }
    </style>
</head>
<body>
    <div id="result"></div>
    <script>
        const result = document.getElementById('result');
        //绑定键盘按下事件
        window.onkeydown = function(){
             console.log('键盘按下事件被触发了!');
        }
    </script>
</body>
</html>
  1. 服务端配置新路由规则:
javascript 复制代码
//JSON 响应
app.all('/json-server', (request, response) => {
    //设置响应头  设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers', '*');
    //设置响应体
    response.send('HELLO AJAX POST');
});
  1. 测试返回的响应结果
javascript 复制代码
   console.log(xhr.response);
   result.innerHTML = xhr.response;
  1. 服务端返回JSON格式数据
javascript 复制代码
//JSON 响应
app.all('/json-server', (request, response) => {
    //设置响应头  设置允许跨域
    response.setHeader('Access-Control-Allow-Origin', '*');
    //响应头
    response.setHeader('Access-Control-Allow-Headers', '*');
    //设置响应体
    //response.send('HELLO AJAX POST');
    //响应一个数据
    const data = {
        name: 'dezai',
        age:18
    };
    //对对象进行字符串转换
    let str = JSON.stringify(data);
    //设置响应体
    response.send(str);
});
  1. 前端接收JSON字符串解析两种方式:
    1. 手动对数据转化
javascript 复制代码
       let data = JSON.parse(xhr.response);
       console.log(data);
       result.innerHTML ='姓名:'+ data.name+' 年龄:'+data.age;
  1. 自动转换
    //设置响应体数据的类型
    xhr.responseType = 'json';
javascript 复制代码
  console.log(xhr.response);
  result.innerHTML ='姓名:'+ xhr.response.name +' 年龄:'+xhr.response.age;
相关推荐
OBiO20132 小时前
Cell | 突破AAV载体容量限制!路中华/姜玉武/刘太安团队开发AAVLINK系统实现大基因递送
笔记
智者知已应修善业2 小时前
【51单片机2个按键控制流水灯运行与暂停】2023-9-6
c++·经验分享·笔记·算法·51单片机
sakiko_3 小时前
UIKit学习笔记5-使用UITableView制作聊天页面
笔记·学习·swift·uikit
Alice-YUE4 小时前
【js高频八股】防抖与节流
开发语言·前端·javascript·笔记·学习·ecmascript
小陈phd5 小时前
TensorRT 入门完全指南(一)——从核心定义到生态工具全解析
人工智能·笔记
是上好佳佳佳呀5 小时前
【前端(十一)】JavaScript 语法基础笔记(多语言对比)
前端·javascript·笔记
handler015 小时前
Linux 内核剖析:进程优先级、上下文切换与 O(1) 调度算法
linux·运维·c语言·开发语言·c++·笔记·算法
其实防守也摸鱼6 小时前
CTF密码学综合教学指南--第四章
网络·笔记·安全·网络安全·密码学·ctf
05候补工程师8 小时前
【ROS 2 具身智能】Gazebo 仿真避坑指南:从“幽灵机器人”到传感器数据流打通
人工智能·经验分享·笔记·ubuntu·机器人
chushiyunen8 小时前
pandas使用笔记、数据清洗、json_normalize
笔记·pandas