首先页面加载时候显示遮罩层

jQuery(function() {
show_dialog();
//tianxie();
});

定义一个全局数组,用于存放问题id

var qar = [];

循环问题id,并赋值到qar数组中

for (quid_index = 0; quid_index < results.totalProperty; quid_index++) {
questions[quid_index] = [];
questions[quid_index][0] = results.content[quid_index].quid; //问题编号
questions[quid_index][1] = results.content[quid_index].total; //问题类型
qar[quid_index] = results.content[quid_index].quid;
}

最后在ajax 请求成功后的回调函数里,做递减操作,判断最后回调是否为0(这里是5,程序还没完全写完,只能判断到这里。),最后遮罩层隐藏。

function optionsDataAjax(param, field) {
var options = jQuery.ajax({
async: true,
type: "get",
url: "${homeMoudle}/home/quickreport/optionsDataRes.htm",
data: param + field,
success: function(data,s,k) {
//alert("option======="+data);
var txt = eval('(' + data + ')');
var json = eval(txt.content);
for (var i = 0; i < json.length; i++) {
var quid = json[i].quid;
var total = json[i].total;
jQuery("#q" + quid).html('(' + total.toFixed(1) + '%)');
}
qar.splice(0,1);
//console.log("optionsDataAjax==="+qar.length);
if(qar.length==5){
tianxie();
}
}
});
} function fuxuanAjax(param, field) {
jQuery.ajax({
async: true,
type: "get",
url: "${homeMoudle}/home/quickreport/getFuxuan.htm",
data: param + field,
success: function(data) {
//alert("option======="+data);
var txt = eval('(' + data + ')');
var json = eval(txt.content);
for (var i = 0; i < json.length; i++) {
var quid = json[i].quid;
var total = json[i].total;
jQuery("#q" + quid).html('(' + total.toFixed(1) + '%)');;
}
qar.splice(0,1);
if(qar.length==5){
tianxie();
}
}
});
} function numberDataAjax(param, field) {
jQuery.ajax({
async: true,
type: "get",
url: "${homeMoudle}/home/quickreport/numberDataRes.htm",
data: param + field,
success: function(data) {
//alert("number======="+data);
var txt = eval('(' + data + ')');
if (txt.quid == 159 || txt.quid == 445 || txt.quid == 533 || txt.quid == 534) {
var size = jQuery("#companysize").html();
var val = txt.total / size;
jQuery("#q" + txt.quid).html(val.toFixed(2));
} else {
jQuery("#q" + txt.quid).html(txt.total.toFixed(2));
}
qar.splice(0,1);
if(qar.length==5){
tianxie();
}
}
});
} function tianxie() {
hide_dialog();
}

ajax多次请求的一个效果思路的更多相关文章

  1. JS 点击元素发ajax请求 打开一个新窗口

    JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打 ...

  2. 关于ajax异步请求的一个细节问题

    首先描述一下问题场景:我们正在做一个汽车出租项目,使用maven+ssm+easyui来完成,这个问题是在做汽车办理出租业务的时候出现的. 问题描述:在使用ajax发送异步请求时,遇到一个问题,就是在 ...

  3. 用iframe设置代理解决ajax跨域请求问题

    面对ajax跨域请求的问题,想用代理的方式来解决这个跨域问题.在服务器端创建一个静态的代理页面,在客户端用iframe调用这个代理 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到aja ...

  4. MVC的Ajax的异步请求

    MVC的Ajax的异步请求 在这里小写一下MVC的异步请求的一点小总结. 个人认为是有两种的,一种就是跟webform一样的,依旧是使用jQuery的$.get()方法,只是请求地址不同,webfor ...

  5. 有关Ajax跨域请求的解决方案

    前言 最近博主在赶项目进度.所以微信二次开发那边的博文一直没有更新.后续时间会慢慢记录这个学习历程的.来年公司要开发微信小程序.到时也会记录一下历程. 闲话少说,今天在工作中遇到了SpringMVC接 ...

  6. 使用Ajax发送http请求(get&post请求)

    本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 同步和异步 同步和异步的概念 同步:必须等待前面的任务完成,才能继续后面 ...

  7. Ajax跨越问题原因分析与解决思路

    1.什么是AJAX跨域问题 简单来说,就是前端调用后端服务接口时 如果服务接口不是同一个域,就会产生跨域问题 2.AJAX跨域场景 前后端分离.服务化的开发模式 前后端开发独立,前端需要大量调用后端接 ...

  8. ext 的loadmask 与ajax的同步请求水火不容

    由于ajax 的同步请求会有一段请求时间.有的短.有的长,对于短的我们还是能接受的,不过长的话就必须处理一下了, 就比如处于ext 4.2.0的框架下,需要一个遮掩的样式,框架是有自带的,loadma ...

  9. AJAX跨域请求json数据的实现方法

    这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式, ...

随机推荐

  1. Kotlin 变量和常量的声明(var和val)

    Kotlin有着非常非常智能化的声明变量方式.叫做类型推断 声明变量要使用关键字var和val. var声明方式第一种(自动推断): var nub=1231://自动定义整数型 使用分号 var c ...

  2. AngularJS(五)——filter(过滤器)

    前言 过滤器可以用一个管道字符(|)添加到表达式和指令中.比如做ITOO的时候或者其他项目的时候,总是想统一货币日期等显示,以前的做法,不断循环该控件或该标签,然后循环转换.如果利用AngularJS ...

  3. 51nod1040最大公约数之和(欧拉函数)

    题面 传送门 题解 这种题目就是推倒推倒 \[\sum_{i=1}^n \gcd(i,n)=\sum_{i|n}i\sum_{j=1}^n[\gcd(j,n)=i]\] \[\sum_{i=1}^n ...

  4. Python字典基础知识补充

    1.添加键值对 #!/usr/bin/env python i1 = {'k1':'cai' , 'k2':123} print(i1) i1['k3'] = 0 i1['k4'] = "r ...

  5. Python之运算符以及基本数据类型的object

    一.运算符 1.算术运算符 % 求余运算 **   幂-返回x的y次幂 //   取整数-返回商的整数部分,例:9//2输出结果是4 2.比较运算符 == 等于 != 不等于 <> 不等于 ...

  6. sql_trace基本用法

    sql_trace是oracle提供的一个非常好的跟踪工具,主要用来检查数据库的异常情况,通过跟踪数据库的活动,找到有问题的语句. 一.概述:    SQL_TRACE是Oracle的一个非常强大的工 ...

  7. OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

    开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...

  8. Large Writes in Exadata FlashCache

    在 Exadata存储管理软件12.2.1.1.0中,flashcache开始支持复杂排序和大量的hash join产生的临时数据写入flashcache中,而不是直接写入SAS磁盘的tempfile ...

  9. vue项目中使用了vw适配方案,引入第三方ui框架mint-ui时,适配问题解决

    问题分析: 一般第三方ui框架用的都是不同的适配方式,如果我们使用了vw适配,那么在使用mint-ui框架时,就会发现px单位会被转换成vw,从而导致样式变小的问题,如图 解决方案 网上看到了很多种解 ...

  10. 使用windows服务修改CPU型号(重启依然有效)

    此项目基于.net framework 4.0 效果如下: 服务运行前: 服务运行后: 思路大概是这样: 通过修改注册表可以修改CPU型号,把服务设置成本地服务,并且开机自动启动,来实现开机自动修改处 ...