ajax多次请求的一个效果思路
首先页面加载时候显示遮罩层
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多次请求的一个效果思路的更多相关文章
- JS 点击元素发ajax请求 打开一个新窗口
JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打 ...
- 关于ajax异步请求的一个细节问题
首先描述一下问题场景:我们正在做一个汽车出租项目,使用maven+ssm+easyui来完成,这个问题是在做汽车办理出租业务的时候出现的. 问题描述:在使用ajax发送异步请求时,遇到一个问题,就是在 ...
- 用iframe设置代理解决ajax跨域请求问题
面对ajax跨域请求的问题,想用代理的方式来解决这个跨域问题.在服务器端创建一个静态的代理页面,在客户端用iframe调用这个代理 今天在项目中需要做远程数据加载并渲染页面,直到开发阶段才意识到aja ...
- MVC的Ajax的异步请求
MVC的Ajax的异步请求 在这里小写一下MVC的异步请求的一点小总结. 个人认为是有两种的,一种就是跟webform一样的,依旧是使用jQuery的$.get()方法,只是请求地址不同,webfor ...
- 有关Ajax跨域请求的解决方案
前言 最近博主在赶项目进度.所以微信二次开发那边的博文一直没有更新.后续时间会慢慢记录这个学习历程的.来年公司要开发微信小程序.到时也会记录一下历程. 闲话少说,今天在工作中遇到了SpringMVC接 ...
- 使用Ajax发送http请求(get&post请求)
本文最初发表于博客园,并在GitHub上持续更新前端的系列文章.欢迎在GitHub上关注我,一起入门和进阶前端. 以下是正文. 同步和异步 同步和异步的概念 同步:必须等待前面的任务完成,才能继续后面 ...
- Ajax跨越问题原因分析与解决思路
1.什么是AJAX跨域问题 简单来说,就是前端调用后端服务接口时 如果服务接口不是同一个域,就会产生跨域问题 2.AJAX跨域场景 前后端分离.服务化的开发模式 前后端开发独立,前端需要大量调用后端接 ...
- ext 的loadmask 与ajax的同步请求水火不容
由于ajax 的同步请求会有一段请求时间.有的短.有的长,对于短的我们还是能接受的,不过长的话就必须处理一下了, 就比如处于ext 4.2.0的框架下,需要一个遮掩的样式,框架是有自带的,loadma ...
- AJAX跨域请求json数据的实现方法
这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式, ...
随机推荐
- Kotlin 变量和常量的声明(var和val)
Kotlin有着非常非常智能化的声明变量方式.叫做类型推断 声明变量要使用关键字var和val. var声明方式第一种(自动推断): var nub=1231://自动定义整数型 使用分号 var c ...
- AngularJS(五)——filter(过滤器)
前言 过滤器可以用一个管道字符(|)添加到表达式和指令中.比如做ITOO的时候或者其他项目的时候,总是想统一货币日期等显示,以前的做法,不断循环该控件或该标签,然后循环转换.如果利用AngularJS ...
- 51nod1040最大公约数之和(欧拉函数)
题面 传送门 题解 这种题目就是推倒推倒 \[\sum_{i=1}^n \gcd(i,n)=\sum_{i|n}i\sum_{j=1}^n[\gcd(j,n)=i]\] \[\sum_{i=1}^n ...
- Python字典基础知识补充
1.添加键值对 #!/usr/bin/env python i1 = {'k1':'cai' , 'k2':123} print(i1) i1['k3'] = 0 i1['k4'] = "r ...
- Python之运算符以及基本数据类型的object
一.运算符 1.算术运算符 % 求余运算 ** 幂-返回x的y次幂 // 取整数-返回商的整数部分,例:9//2输出结果是4 2.比较运算符 == 等于 != 不等于 <> 不等于 ...
- sql_trace基本用法
sql_trace是oracle提供的一个非常好的跟踪工具,主要用来检查数据库的异常情况,通过跟踪数据库的活动,找到有问题的语句. 一.概述: SQL_TRACE是Oracle的一个非常强大的工 ...
- OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理
开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...
- Large Writes in Exadata FlashCache
在 Exadata存储管理软件12.2.1.1.0中,flashcache开始支持复杂排序和大量的hash join产生的临时数据写入flashcache中,而不是直接写入SAS磁盘的tempfile ...
- vue项目中使用了vw适配方案,引入第三方ui框架mint-ui时,适配问题解决
问题分析: 一般第三方ui框架用的都是不同的适配方式,如果我们使用了vw适配,那么在使用mint-ui框架时,就会发现px单位会被转换成vw,从而导致样式变小的问题,如图 解决方案 网上看到了很多种解 ...
- 使用windows服务修改CPU型号(重启依然有效)
此项目基于.net framework 4.0 效果如下: 服务运行前: 服务运行后: 思路大概是这样: 通过修改注册表可以修改CPU型号,把服务设置成本地服务,并且开机自动启动,来实现开机自动修改处 ...