关于服务器读取Ajax的使用。

2 篇文章 0 订阅
2 篇文章 0 订阅

昨天主要完成服务器左侧栏的动态生成的编写,记录在此:
主要完成了三个函数的编写,两个Ajax函数和一个列表生成函数,代码如下:

                $.ajax({
                    type:"post",
                    dataType:"json",
                    url:"1.json",
                    success:function (data) {  //这个函数用来生成代码

                  for(var i=0;i<data.length;i++){
                      ShowList(data[i]);
                  }

                    },
                    error:function () {
                        alert("ERROR!");
                    }
                });
            $.ajax({
                type:"post",
                dataType:"json",
                url:"1.json",
                success:function (data) { //这个函数用来为Overviewt添加行为

                        $("a.Overview").click(function () {
                            for(var i =0;i<data.length;i++) {
                                if (this.getAttribute("id") == data[i].id) {
                                    var APItitlename = data[i].packageName;
                                    var packageDes = data[i].packageDes;
                                    break;
                                }
                            }

                            var conText ="";
                            conText += "<h1>" + APItitlename +"</h1>";
                            conText += "<p>" + packageDes + "</p>";
                            $("#body-content").html(conText);
                        })


                },
                error:function () {
                    alert("ERROR!");
                }
            });
        function ShowList(ListData) {    //生成列表的函数
            var OverviewID = ListData.id;
            var conText = "";
            conText += "<li class ='api apiLevel-";
            conText += ListData.apiLevel;
            conText += "'><a href='#' class='dac-reference-nav-toggle dac-closed' onclick='toggleNextUl(this); event.preventDefault();'> ";
            conText += ListData.packageName;
            conText += "</a>";
            conText += "<ul class='dac-reference-nav-resources' style='display:none;'>";
            conText += "<li><a href='#' class = 'dac-reference-nav-resource Overview' id = "+ ListData.id +">Overview</a></li>";
            /*if(interfaces)*/
            /*class*/
            /*ex*/
            conText +="</ul></li>"
            $("#List").append(conText);
        };

第一个Ajax函数,负责读取服务器数据,让根据数据,生成列表的代码。
第二个Ajax函数,是通过读取服务器数据,然后根据数据匹配,为Overview赋予相应的行为。主要是通过Overview的ID去匹配服务器数据的ID。
ShowList函数留了三个行注释为以后的工作做准备。

完成后如图:
完成图

插入和替换页面的行为

插入函数用了$(*).append(*),而把页面内容替换则用了$(*).html(*)
对于插入函数,有内插和外插两种方法。这两种又分别对应了前插与后插。方法如下所示:

$(*).append(*)   //内后插
$(*).prepend(*); //内前插
$(*).after(*);   //外后插
$(*).before(*);  //外前插

用画图画了一个简单图解:
插入图解

ShowList

这里最费劲的是ShowList的编写。过程中出了很多的错误。一番下来,大概对代码生成conText要注意的是,数值要单独摘出来,而函数不需要。仔细确认引号的对应,不要管WebStorm的显示,有点问题。
另外这里要注意的是,toggleNextUl函数操作的对象是next,next表示遍历下一个兄弟,在这里,this代表的<a>元素,而不是前门的<li>元素。<a>元素与<li>元素是父子关系而不是兄弟关系,只有</li>的下一个元素才是<li>的兄弟元素。

Json数据

这是我自己编写的Json数据。其对格式有着很高的要求,可以去校验网址进行校验。
Json数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值