python测试开发django-172.jQuery 发送请求获取的数据设置为全局变量
2023-03-14 22:50:03 时间
前言
网页上的数据来源于ajax请求获取服务端数据,通常是写个触发方式获取数据加载到页面。 如果有多个地方需要获取同一个接口的请求数据,每次都去触发请求会导致请求重复,像这种只触发一次请求,页面多个地方需要引用此数据情况,可以设置为全局变量。
jQuery请求数据
先定义全局变量res_obj,获取接口返回结果后重新赋值给res_obj
<script>
// 获取接口返回数据设置为全局变量
var res_obj={};
$.ajax({
url: '/banks',
type: 'get',
dataType: 'json',
async: false, // 重要
success: function(data){
res_obj=data;
},
error:function(jqXHR, textStatus, e){
console.log("项目数据异常:"+e);
}
});
console.log(JSON.stringify(res_obj)); // 查看结果
</script>
运行结果
async 异步与同步
async 参数使用说明
- async 默认是 true,即为异步方式,.ajax执行后,会继续执行ajax后面的脚本,直到服务器端返回数据后,触发.ajax里的success方法,这时候执行的是两个线程。
- async 设置为 false,则所有的请求均为同步请求,在没有返回值之前,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
如果设置async为true,那么是获取不到请求结果
<script>
// 获取接口返回数据设置为全局变量
var res_obj={};
$.ajax({
url: '/banks',
type: 'get',
dataType: 'json',
async: true, // 无结果
success: function(data){
res_obj=data;
},
error:function(jqXHR, textStatus, e){
console.log("项目数据异常:"+e);
}
});
console.log(JSON.stringify(res_obj)); // 查看结果
</script>
相关文章
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测
- Golang 字符串切片与 Python 列表的不同
- 20条非常实用的Python代码实例
- pandas语法乱、API多?你需要整理一下!
- 如何挑选你的第一门编程语言
- Python趣味代码整合之提升编程兴趣
- 每个Python高手都应该知道的内置函数
- 2021年,薪酬最高的5种编程语言