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是一种通过脚本标记注入的方式, ...
随机推荐
- code manager toos TotoiseSVN解锁
TotoiseSVN解锁 一.出现的原因: 1.是开发人员手动锁定了. 2.是由于版本错乱造成的锁定. 二.解决方案: 1.使用客户端解决方案: (1)删除本地副本,重新获取文件. (2)可以先尝试c ...
- gRPC官方文档(异步基础: C++)
文章来自gRPC 官方文档中文版 异步基础: C++ 本教程介绍如何使用 C++ 的 gRPC 异步/非阻塞 API 去实现简单的服务器和客户端.假设你已经熟悉实现同步 gRPC 代码,如gRPC 基 ...
- 工作中用的cobbler命令行
在使用cobbler服务器,从pxe启动虚机的时候,经常用到的cobbler命令行 1.查看注册信息 cobbler system report --name=test25 2.注册信息 cobble ...
- 「BZOJ 3994」「SDOI 2015」约数个数和「莫比乌斯反演」
题意 设\(d(x)\)为\(x\)的约数个数,求\(\sum_{i=1}^{n}\sum_{j=1}^{m}d(ij)\). 题解 首先证个公式: \[d(ij) = \sum_{x|i}\sum_ ...
- Wannafly挑战赛28B(DP,思维,字符串)
#include<bits/stdc++.h>using namespace std;int n;int nxt[3][100007];char buff[100007];const ch ...
- hdu2328(后缀数组 + 二分)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2328 题意: 求 n 个串的字典序最小的最长公共子串 思路: 本题中单个字符串长度不超过 200, ...
- SpriteBuilder 不能对设置spriteframe的sprite进行设置dynamic Physics解决办法
可能spriteBuilder是最新推出 cocos2d 可视化,在学习过程中遇到一些Bug,比如你对一个精灵设置了一个动画帧(spriteframe),这并不会改变他的物理属性,正常来说是可以设置他 ...
- ubuntu下中文乱码解决
这个方法只对该用户有效. 方法二:修改/etc/environment,增加以下内容: LANGUAGE=”zh_CN:zh:en_US:en” LANG=zh_CN.GBK
- vs快捷键(SharePoint项目)
1.ctrl+c,alt+c,shift+ctrl+c: ========== Copying to SharePoint Root =========={ProjectRoot}\pkg\Debug ...
- Spring boot的热部署
当把配置文件,比如yml也打到jar包后,如何修改配置,而又不用重新发布呢? 在jar包同一目录下,放置Application.yml (注意,不管jar包内是否此文件名)修改配置文件后,重新启动ja ...