前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python测试开发django-172.jQuery 发送请求获取的数据设置为全局变量

python测试开发django-172.jQuery 发送请求获取的数据设置为全局变量

作者头像
上海-悠悠
发布2021-11-16 15:55:01
1.8K0
发布2021-11-16 15:55:01
举报

前言

网页上的数据来源于ajax请求获取服务端数据,通常是写个触发方式获取数据加载到页面。 如果有多个地方需要获取同一个接口的请求数据,每次都去触发请求会导致请求重复,像这种只触发一次请求,页面多个地方需要引用此数据情况,可以设置为全局变量。

jQuery请求数据

先定义全局变量res_obj,获取接口返回结果后重新赋值给res_obj

代码语言:javascript
复制
<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,那么是获取不到请求结果

代码语言:javascript
复制
<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>
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-11-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • jQuery请求数据
  • async 异步与同步
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档