<!DOCTYPE html><html lang="zh"><head> <meta charset="UTF-8"> <title>TestAjax</title> <style> #result{ width: 200px; height: 100px; border: solid 1px #2a5caa; } </style></head><body> <button>发送请求</button> <div id="result"></div> <script> const btn = document.getElementsByTagName('button')[0]; const result = document.getElementById('result'); window.onkeydown = function (){ const xhr = new XMLHttpRequest(); xhr.responseType = 'json';// 对json数据进行转化-----自动 xhr.open('GET','http://localhost:8000/HandleJson'); xhr.send(); xhr.onreadystatechange = function (){ if (xhr.readyState === 4){ if (xhr.status >= 200 && xhr.status < 300){ // 对json数据进行转化-----手动 // let data = JSON.parse(xhr.response); // console.log(data); // result.innerHTML = data.name; // 对json数据进行转化-----自动 result.innerHTML = xhr.response.name; } } } }; </script></body></html>
// 1.引入expressconst express = require('express')// 2.创建应用对象const app = express()// 3.创建路由规则app.all('/HandleJson', (request,response) =>{ // 设置响应头 response.setHeader('Access-Control-Allow-Origin','*') // 设置允许跨域 response.setHeader('Access-Control-Allow-Headers','*') // 设置所有请求头都可以允许书写 // 设置响应体 const data = { name : 'test' } // 对象与字符串转化 let str = JSON.stringify(data); response.send(str);});// 4.监听端口,启动服务app.listen(8000,()=>{ console.log("服务已启动");});