admin 管理员组文章数量: 1086866
ajax的响应与取消响应
第一部分:axios取消响应
1.使用 CancelToken.source 工厂方法创建cancel token
CancelToken有一个source静态方法,调用之后返回一个对象,该对象包含一个token属性用于标
记请求和一个cancel方法用于取消请求
<!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>
</head>
<body><button type="button">点我</button>
</body>
<script src=".min.js"></script>
<script>let btn = document.querySelector('button')const CancelToken = axios.CancelToken;const source = CancelToken.source();btn.addEventListener('click',function(){const CancelToken = axios.CancelToken;const source = CancelToken.source();axios({url:'http://localhost:3000/',method:'get',params: {age:"18"},//标记请求cancelToken: source.token}).then(res=>{//成功回调console.log(res)})// 当请求发送时,在2s内没有接受到响应,则响应取消setTimeout(()=>{source.cancel('不想请求了');},2000)})
</script>
</html>
第二部分:ajax取消请求
xhr.abort()方法用于取消请求
<!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>
</head>
<body><button type="button">点我</button>
</body>
<script src=".min.js"></script><script>let btn = document.querySelector('button')btn.addEventListener('click',function(){let xhr = new XMLHttpRequest();xhr.open("GET", 'http://localhost:3000/?age="19"');xhr.send();xhr.onload=function(){console.log(xhr.responseText)}//xhr.abort()方法用于取消请求setTimeout(() => xhr.abort(), 2000); })
</script>
</html>
第三部分:请求地址(node部分)
// 导入三方插件
const express = require('express')
// 第二步:调用express()
const app = express()
// 设置对应的请求处理函数
app.get('/',(req,res)=>{//获取请求过来的数据req.qyery console.log(req.query)// res响应出去的数据res.setHeader("Access-Control-Allow-Origin", "*")setTimeout(()=>{res.send({name:"张三"})},3000)
})app.listen(3000,()=>{console.log('开始监听3000',3000)})
本文标签: ajax的响应与取消响应
版权声明:本文标题:ajax的响应与取消响应 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1687941267a160104.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论