ajax 第十节 ajax请求重复发送问题
作者:互联网
=================服务端响应==================
//引用 express
const { request, response, json } = require('express');
const express = require('express');
//创建应用对象 const app = express();
//创建路由规则, // request 是对请求报文的封装 // response 是对响应报文的封装 //app.all 可以接收任意类型的请求头 app.get('/cache', (request, response) => { //设置响应头,设置充许跨域 response.setHeader('Access-Control-Allow-Origin', '*'); setTimeout(() => { response.send('name-xxxxx'); }, 3000);
}) // 监听端口启动服务 app.listen(8000, () => { console.log('服务已经启动,8000端口监听中.......'); }) =================取消客户端请求重复发送==================
<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>Document</title> <style> #result { width: 200px; height: 100px; border: solid 1px red; }
.abc { width: 200px; height: 100px; border: solid 1px pink; } </style> </head>
<body> <button>发送请求</button> </body> <script> const btn = document.querySelector('button'); let xhr = null; let issending = false;
btn.onclick = function () { if (issending) xhr.abort(); xhr = new XMLHttpRequest(); issending = true; xhr.open('GET', 'http://127.0.0.1:8000/cache'); xhr.send(); xhr.onreadystatechange = function () { if (xhr.readystate == 4) { issending = false; } } } </script>
</html>
//创建应用对象 const app = express();
//创建路由规则, // request 是对请求报文的封装 // response 是对响应报文的封装 //app.all 可以接收任意类型的请求头 app.get('/cache', (request, response) => { //设置响应头,设置充许跨域 response.setHeader('Access-Control-Allow-Origin', '*'); setTimeout(() => { response.send('name-xxxxx'); }, 3000);
}) // 监听端口启动服务 app.listen(8000, () => { console.log('服务已经启动,8000端口监听中.......'); }) =================取消客户端请求重复发送==================
<!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>Document</title> <style> #result { width: 200px; height: 100px; border: solid 1px red; }
.abc { width: 200px; height: 100px; border: solid 1px pink; } </style> </head>
<body> <button>发送请求</button> </body> <script> const btn = document.querySelector('button'); let xhr = null; let issending = false;
btn.onclick = function () { if (issending) xhr.abort(); xhr = new XMLHttpRequest(); issending = true; xhr.open('GET', 'http://127.0.0.1:8000/cache'); xhr.send(); xhr.onreadystatechange = function () { if (xhr.readystate == 4) { issending = false; } } } </script>
</html>
标签:const,issending,app,express,第十节,发送,xhr,ajax,response 来源: https://www.cnblogs.com/dx33/p/15511406.html