首页 > 其他分享 >多个AJAX请求,带执行进度及结果

多个AJAX请求,带执行进度及结果

时间:2024-07-20 13:29:51浏览次数:5  
标签:function 请求 ids AJAX 进度 ibtn var requests id

    function CreateAll() {
        var len = $("[src='/images/err.png'][title='点击重新生成']").length;
        var layerMsg = layer.open({
            title: "正在生成,共有" + len + "个试题正在生成",
            content: "当前第已成功生成<span id='buildOk' style='color:red; padding:5px;'>0</span>个!",
            btn: ['关闭'],
            yes: function() {
                layer.close(layerMsg);
            },
            success: function() {
                var cnt = 0;
                var ok = 0;
                var ids = new Array;
                $("[src='/images/err.png'][title='点击重新生成']").each(function() {
                    ids.push($(this).attr("id").replace("ibtn", ""));
                });
                $("#curItem").text(ids.length);
                var requests = new Array;
                for (var i = 0; i < ids.length; i++) {
                    var id = ids[i];
                    var aid = $("#ibtn" + id).data("aid");
                    var orderNo = $("#ibtn" + id).data("orderno");
                    requests.push(createItem(aid, id, orderNo, $("#ibtn" + id), false));
                }
               
                // 初始化进度为0
                var progress = 0;

                // 使用$.when()执行顺序
                $.when.apply($, requests).then(
                    function () {
                        // 所有请求成功完成时的回调
                        layer.close(layerMsg);
                    },
                    function () {
                        // 任何一个请求失败时的回调
                        alertify.error("发生了一个错误的请求!");
                    }
                );

                // 对每个请求进行进度更新
                requests.forEach(function (request, index) {
                    request.progress(function (e) {
                        // 更新进度条
                        progress = (index + e.loaded / e.total) / requests.length;
                        console.log('Progress:', progress);
                    }).done(function (response) {
                        ok++;
                        // 单个请求成功时的回调
                        console.log('Request ' + index + ' completed:', response);
                        $("#buildOk").text(ok);
                    }).fail(function (error) {
                        // 单个请求失败时的回调
                        //console.log('Request ' + index + ' failed:', error);
                    });
                });
            }
        });

    }

这里用到了第三方的两个组件,一个是layer,一个alertify,异步函数是

createItem(aid, id, orderNo, $("#ibtn" + id), false)

 

标签:function,请求,ids,AJAX,进度,ibtn,var,requests,id
From: https://www.cnblogs.com/rovedog/p/18312994

相关文章

  • http协议简介以及其请求和响应
    简介HTTP是hypertexttransferprotocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。H......
  • Simple WPF: S3实现MINIO大文件上传并显示上传进度
    SimpleWPF:S3实现MINIO大文件上传并显示上传进度 合集-SimpleWPF(9) 1.SimpleWPF:WPF透明窗体和鼠标事件穿透07-012.SimpleWPF:WPF自定义按钮外形07-073.SimpleWPF:WPF实现按钮的长按,短按功能07-084.SimpleWPF:WPF自定义一个可以定义步长的SpinBox07-095.Si......
  • java发送http请求
    pom<dependency><groupId>org.apache.httpcomponents.client5</groupId><artifactId>httpclient5</artifactId><version>5.1.3</version></dependency>菜packagecom.xcg.webapp.Common;importorg.apache.......
  • PHP curl 模拟GET请求接口报错HTTP Status 400 – Bad Request 问题
    网上查的解决方案:https://blog.csdn.net/sunsijia21983/article/details/123204143问题:PHP用curl模拟GET请求接口报错HTTPStatus400–BadRequesthttp://xxx/api/getZList?page=1&limit=20&zName=测试参数zName是英文、数字的时候都不会报错,输入汉字就报错400;解决方案:h......
  • HTTPS请求笔记- SSL安全通道验证问题
    一直以来,遇到的POST接口请求都是键值对的json格式,最近对接了不少公安,发现body的请求体都是直接放置字符串,虽然postman中会报红,但是仍然可请求成功using(HttpClientHandlerhandle=newHttpClientHandler())using(HttpClienthttpClient=newH......
  • 【.NET全栈】ASP.NET开发Web应用——AJAX开发技术
    文章目录前言一、ASP.NETAJAX基础1、AJAX技术简介2、ASP.NETAJAX技术架构二、ASP.NETAJAX服务器端扩展1、声明ScriptManager控件2、使用ScriptManager分发自定义脚本3、在ScriptManager中注册Web服务4、处理ScriptManager中的异常5、编程控制ScriptManager控件6、使......
  • 2024年受欢迎的项目进度跟踪工具
    国内外主流的10款进度跟踪软件对比:PingCode、Worktile、Tita、纷享销客、Teambition、ClickUp、Monday.com、Jira、Basecamp、Smartsheet。管理项目时,最大的挑战之一就是实时跟踪进度并确保团队协同工作。许多项目管理者常常面临工具选择的困扰,不知道如何在众多项目进度跟踪系......
  • unity3d get post请求
    unity3dget post请求 usingUnityEngine;usingUnityEngine.Networking;publicclassNetworkRequestExample:MonoBehaviour{IEnumeratorStart(){stringurl="https://api.example.com/data";UnityWebRequestrequest=U......
  • 使用jmeter自带录制插件录制请求
    所需工具jmeter软件浏览器/移动端代理服务器相关字段解释一、globalsettingport(端口)        随便设置即可,但是注意不要和电脑上的其他端口冲突        httpsdomains        一般设置为当前电脑的本地IP地址,可不填写;不填写默认为localhost......
  • 强烈推荐:18.3k star,推荐一款简单易用的HTTP请求流量录制回放工具:Goreplay
    在软件开发和测试过程中,我们经常需要对应用程序的网络请求进行录制和回放,以便进行性能分析、压力测试或者模拟复杂的网络环境。今天,我要向大家推荐一款简单易用的HTTP请求流量录制回放工具:Goreplay。1、简介Goreplay是一款用Go语言编写的HTTP请求流量录制回放工具。它可......