点击按钮,发送请求(前端页面和服务端页面信息交流 但是不刷新页面)
注意使用谷歌浏览器
服务器端打开:使用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
这时候客户端即浏览器发送请求,并接收读取服务端的响应
- 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{
-
- }
-
-
- }
响应头部分

响应体部分
