点击按钮,发送请求(前端页面和服务端页面信息交流 但是不刷新页面)
注意使用谷歌浏览器
服务器端打开:使用nodemon
//1、导入express
const express=require('express')
//2、创建应用对象  创建web服务器
const app=express()
//3、创建路由规则
//监听客户端的GET请求和POST请求,并向客户端响应具体内容
//requset是对请求报文的封装
//response是对响应报文的封装
app.get('/server',function(requset,response){
    //设置响应头 名称 值----设置允许跨域
    response.setHeader('Access-Control-Allow-Origin','*');
    //设置响应体
    response.send('hello AJAX');
})
//4、监听端口 启动服务
//启动服务器.lisen(端口号,(启动成功职之后的回调函数)) 端口号是80可以省略
app.listen(8000,()=>{
    console.log('8000启动成功')
})服务器端对http://127.0.0.1:8000/server的GET请求设置了
响应头 Access-Control-Allow-Origin:*
和
响应体hello AJAX
这时候客户端即浏览器发送请求,并接收读取服务端的响应
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ajax GET 请求</title>
    <style>
        #result {
            width: 200px;
            height: 100px;
            border: solid 1px #90b;
        }
    </style>
</head>
<body>
    <button>点击发送请求</button>
    <div id="result"></div>
    <script>
        //获取bTn元素
        const btn = document.getElementsByTagName('button')[0];
        const result=document.getElementById('result');
        //绑定事件
        btn.onclick = function () {
            //Ajax操作--分为4个步骤
            //1、创建对象
            const xhr = new XMLHttpRequest();//xhr简写 然后是在网络控制台上也有xhr 对ajax请求的筛选
            //2、初始化 设置请求方法和url 这里不可以省略
            xhr.open('GET', 'http://127.0.0.1:8000/server');
            //3、发送
            xhr.send();
            //4、事件绑定  处理服务端返回的结果
            //onreadystatechange代表:当 xhr对象中的属性readystate 改变的时候触发
            //xhr对象中的属性 readystate标识状态 
            //有5个值 0:标识为初始化 1 标识open方法调用完毕 2 send方法调用完毕 3:服务端返回的部分结果 4 服务端返回的所有结果
            //改变一次触发一次 总共有4次
            xhr.onreadystatechange = function () {
                //判断服务端是否返回了所有结果
                if (xhr.readyState === 4) {
                    //判断服务端返回的响应状态码 200 404 403 401 500
                    //2xx是成功
                    if(xhr.status<300&&xhr.status>=200){
                        //处理结束 行 头 空行 体
                        //1、响应行
                        console.log('响应状态码',xhr.status,'响应字符串',xhr.statusText);//响应状态码+响应状态字符串
                        console.log('所有的响应头',xhr.getAllResponseHeaders());
                        console.log('响应体',xhr.response);
                        //在div中呈现
                        result.innerHTML=xhr.response;
                    }else{
                    }
                }
            }
        }
    </script>
</body>
</html>使用jscript;一共分为4步骤
//1、创建对象
    const xhr = new XMLHttpRequest();//xhr简写 然后是在网络控制台上也有xhr 对ajax请求的筛选//2、初始化对象 参数为设置请求方法和url 地址这里不可以省略
  xhr.open('GET', 'http://127.0.0.1:8000/server');//3、发送对象
   xhr.send();//4、事件绑定 处理服务端返回的结果 //onreadystatechange代表:当 xhr对象中的属性readystate 改变的时候触发
//xhr对象中的属性 readystate标识状态有5个值 0:标识为初始化 1 标识open方法调用完毕 2 send方法调用完毕 3:服务端返回的部分结果 4 服务端返回的所有结果//改变一次触发一次 总共有4次
响应状态码',xhr.status

响应字符串',xhr.statusText
所有的响应头',xhr.getAllResponseHeaders()

响应体',xhr.response

  xhr.onreadystatechange = function () {
                //判断服务端是否返回了所有结果
                if (xhr.readyState === 4) {
                    //判断服务端返回的响应状态码 200 404 403 401 500
                    //2xx是成功
                    if(xhr.status<300&&xhr.status>=200){
                        //处理结束 行 头 空行 体
                        //1、响应行
                        console.log('响应状态码',xhr.status,'响应字符串',xhr.statusText);//响应状态码+响应状态字符串
                        console.log('所有的响应头',xhr.getAllResponseHeaders());
                        console.log('响应体',xhr.response);
                        //在div中呈现
                        result.innerHTML=xhr.response;
                    }else{
                    }
                }响应头部分

响应体部分
 



















