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