zoukankan      html  css  js  c++  java
  • 使用 ajax 多次请求,并将结果集合并(ajax 非异步)

    直接上代码吧... 里面有注释

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
            <title></title>
            <script src="js/jquery-3.4.1.js"></script>
        </head>
        <body>
            <script>
                
                (function() {
                    var data = {stuId:'4231'};
                    var list = [];
                    getInfo(function(data,obj){
                        // 第一次查询没有数据或者条数不满足3条数据,进行参数分割
                        if( data ){
                            list.push(data);
                        }else{
                            // 参数分割
                            var stuIds = obj.stuId.split("");
                            // 循环请求获取数据
                            for (var i = 0; i < stuIds.length; i++) {
                                // 参数对象
                                var obj = {stuId: stuIds[i]};
                                //先判断 list 是否的条数 是否满足条件
                                if( list.length >= 2 ){
                                    // 中止请求
                                    break;
                                    //throw Error("满足条件,不再进行请求...");
                                }else{
                                    getInfo(function(data){
                                        if( data ){
                                            list.push(data);
                                        }
                                    },obj);
                                }
                            }
                        }
                    },data);
                    
                    console.log(list);
                })();
                
                // 回调函数
                function getInfo(callback,stuId) {
                    $.ajax({
                        async:false,// 同步请求
                        type: 'get', //请求方式
                        url: 'http://127.0.0.1:8080/stu/findById', //请求服务器地址
                        contentType: "application/json", //设置将要传输内容的编码类型
                        data: stuId, //参数对象
                        success: function(data) { //完成时的事件
                            callback(data,stuId);
                        },
                        error: function(error) { //出现错误时的事件
                            alert("出现异常。");
                        }
                    });
                }
            </script>
        </body>
    </html>
  • 相关阅读:
    python3获取文件夹大小
    git master分支被污染,dev是最新稳定的
    优化经验杂记
    kong
    prometheus
    C# 线程执行带参方法的几种写法(ThreadStart,delegate (),()=>)
    MySql字符集utf8mb4和utf8区别
    程序员必备的一些数学基础知识
    hbase统计表的行数的三种方法
    Flink实时计算pv、uv的几种方法
  • 原文地址:https://www.cnblogs.com/oukele/p/11576439.html
Copyright © 2011-2022 走看看