问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

jquery 对ajax数据each如何判断数据长度并加换行拼接加载到表格中

发布网友 发布时间:2022-04-27 19:09

我来回答

3个回答

懂视网 时间:2022-04-27 23:30

同时我还将展示,如何使用JavaScript脚本和Dom接口,来为网页创建一个表格 .将ajax请求的数据显示到该表格内.
本次的ajax实例效果中请求的服务端网页依然是:Web_ajax.Asp 该网页使用了Asp输出xml技术.如果你还不知道如何使用Asp输出xml请返回:"ajax开始准备篇"
提醒:在每篇ajax教程的实例开始之前,你必须查看当天的Web_ajax.asp文件中的数据结构.因为我们每次实例中要读取的标签和内容都不一样.点击:查看Web_ajax.Asp
上次我们读取的是msg标签.今天我们要读取xml中新增的read标签.我们要实现的效果是:将read标签下的Html,Css,Dom,JavaScript,Ajax这些文本内容.显示到我们网页中的表格内.
先看下面的代码.和实例演示
代码如下:

<html>
<head>
<title>ajax读取数据到表格</title>
</head>
<body>
<input type="button" value="显示数据" onclick="Post()" />
<script type="text/javascript">
function ajax_xmlhttp(){
//在IE中创建xmlhttpRequest,适用于IE5.0以上所有版本
var msXmlhttp = new Array("Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");
for(var i=0; i<msXmlhttp.length; i++){
try
{
_xmlhttp=new ActiveXObject(msXmlhttp[i]);
}
catch(e)
{
_xmlhttp=null;
}
} //循环创建基于IE浏览器的xmlhttp.结束
//如果非IE浏览器,则创建基于FireFox等浏览器的xmlhttpRequest
if(!_xmlhttp && typeof XMLHttpRequest != "undefined")
{
_xmlhttp=new XMLHttpRequest();
}
return _xmlhttp;
}

//发送请求函数
function Post(){
var ajax = ajax_xmlhttp(); //将xmlhttprequest对象赋值给一个变量.
ajax.open("post","web_ajax.asp",true);//设置请求方式,请求文件,异步请求
ajax.onreadystatechange = function(){//你也可以这里指定一个已经写好的函数名称
if(ajax.readyState==4){//数据返回成功
if(ajax.status==200){//http请求状态码返回ok
var xmlData = ajax.responseXML;//接收返回xml格式数据
var read = xmlData.getElementsByTagName("read");//获取所有的read标签
if(read.length!=0){
var t = document.createElement("table");//创建一个表格元素
t.setAttribute("border","1");
document.body.appendChild(t);//将表格添加到doby内
for(var i=0;i<read[0].childNodes.length;i++){
var tr = t.insertRow(t.rows.length);//添加一行
var td = tr.insertCell(0);//添加一列
td.innerHTML = read[0].childNodes[i].firstChild.nodeValue;//为单元格写入文本内容
}
}
}
}
}
ajax.send(null);
}
</script>
</body>
</html>


今天我们不再讲昨天重复过的内容.同样在Post的函数内.多了几行代码.可以跟上一篇"ajax初始读取数据篇"进行对比.
下面我们来讲一下今天新增的代码的作用.

if read.length!=0:即判断read标签是否被成功获取.如果其legnth属性不等于0,则代表read已经存在.可以对其进行解析
开始解析返回数据,但网页中并没有存在显示数据的元素.所以我们创建一个表格:var t = document.createElement("table");.请参考:createElement
t.setAttribute("border","1");为表格添加一个边框属性.请参考:setAttribute
document.body.appendChild(t);将创建好的表格添加到网页body元素内.请参考:appendChild
表格添加完成.开始遍历read标签内的所有子元素.也就是:html,css,dom,javascript,ajax这些内容.
开始一个循环,read[0].childNodes.length的意思是获取read标签内所有子元素的个数.在这里会返回5. i=0;i<5条件ok! 每循环一次i变量会自动+1,表格会增加一行,并为该行增加一列.同时为这一列写入read第i个子元素的文本内容.直到i=5,i不会再小于read子元素的个数.条件不满足.循环停止.此时数据正好被显示完毕!
为了让每位读者加深理解.我再陈述一遍该实例效果的实现流程:当你点击了"显示数据"按扭时,Post函数被启用,函数内一个名字为ajax的变量被赋值XMLHTTPRequest对象的引用.然后便打开了open方法.并使用send方法向服务端发出请求.无论是open还是send方法,都会引发readyState方法的状态值发生变化.一旦readyState发生变化就会触发onreadystatechange属性. onreadystatechange属性指定的程序将会执行.然后在程序内再次判断readyState的状态值是否等于4,如果是则证明整个发送请求与服务端返回数据已经成功.同时并判断status是否等200,如果是则代表http请状态码也已经ok!此时可以放心的百分之百的接收数据,于是我们使用responseXML属性来接收返回的数据.该属性只限制接收xml格式的数据.我始终认为将xml格式的数据做为请求与回传的中介.是ajax最标准的使用方法!
今天的ajax实例教程--"ajax之读取数据到表格"就告一段落.我想是不是应该留个问题让各位读者来解决一下?各位有没有发现在实例演示中.你如果重复点击"显示数据"按扭.表格会被重复的创建.数据也会被重复的读取.我希望各位读者可以解决该问题.
下次我们来讲:"ajax添加数据实时读取篇"
出自:http://Www.Web666.Net
作者:康董

热心网友 时间:2022-04-27 20:38

$.ajax({
                url: "Handler/SelectAllArticlImg.ashx?Id="+ Id,
                type: "GET",
                dataType: "json",
                success: function (data) {
                    var Img = "";
                    var i= 0;
                    $.each(data, function (i,u) {
                        Img += "<td> <input type='image' src='../" + u.ImgFile + "' width='220' height='180' /></td>"; 
                        if((i+1)%3==0){
                            Img="<tr>"+Img+"</tr>";
                        }
                    });
                    $("#ArticlImgshow").append(Img);
                }
});

热心网友 时间:2022-04-27 21:56

你好!!

你这是想要  “循环数据--->>每3条数据放到一个<tr>里” 的效果么?

$.ajax({
    url: "Handler/SelectAllArticlImg.ashx?Id=" + Id,
    type: "GET",
    dataType: "json",
    success: function(data) {
        var Img = "";
        $.each(data, function(i, u) {
            Img += "<td> <input type='image' src='../" + u.ImgFile + "' width='220' height='180' /></td>";
            if ( ((i+1) % 3)==0 ) {
                Img += "</tr><tr>";
            }
        });
        $("#ArticlImgshow").append("<tr>" + Img + "</tr>");
    }
});

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
从第一海水浴场到中山路玉姐烧烤怎么走 爱普生针式打印机色带怎么换爱普生打印机出故障了怎么处理 EPSON爱普生打印机色带更换的详细图文教程 EPSON爱普生打印机怎么安装色带? 下泰山游三阳观是什么时候的诗 为何重游泰山三阳观,让我体会到了“一心开,万心明”? 烧水为什么要开着壶盖 水开如果滚多长时间为好 放下名利学会欣赏作文 梦见亲吻金色的人 赤尾的套子跟杜蕾斯AiR系列相比差在哪? 杜蕾斯AIR的产品参数 ajax怎么把请求到的数据放入表单 QQ好友接收不到我发的文件,是什么原因? qq互相不是好友,发消息时而接受到时而接受不到,,加好友却没有这种现象,删除就有这种情况,为什么呀 得了病毒性肠炎,应该怎么治疗呢? 顺义区上幼儿园有什么需要的材料 翠成幼儿园,翠成幼儿园怎么样 世界上有哪四种暴雨警报 哪11省市区发布暴雨黄色预警? 暴雨橙色预警需要停工吗 win10怎么判断电脑装是32位还是64位操作系统 如何将个人债务转为合伙债务? 手机怎么重装系统呢? 手机重装系统。需要注意什么? 怎么用小米万能遥控器截屏 小米遥控器截屏失败 ajax问题,急。 法律频道普法栏目剧老头受骗婚姻 2022年。3月中旬。社会与法频道播出的电视剧叫什么名字? 腾讯会议数据包似损坏怎么修复 - 百度? 本来可以看的视频,腾讯视频为什么会说网络被禁用还有缓存文件损坏 登陆QQ时总会显示文件夹损坏,是怎么回事? 为什么QQ传输文件会出现“传输文件时出现错误导致接收失败,文件可能被其他程序占用或已经损坏”怎么弄 为什么我的QQ传送文件会显示文件已损坏!!!急 ajax获取数据填充到前端table表中 啤酒鸭怎样做 居住证过期了对小孩报名有影响吗幼儿园 冬虫夏草到底有哪些神奇的功效?冬虫夏草适合孩子吃吗? ajax如何实现查询人物信息并把要查询的人物信息表现在页面对应的表格上。(后台是java) 什么可以免费看vip电视剧 为何说吃腰果要注意过敏反应? 腰果过敏很严重吗? 过敏原检查,是腰果过敏 ,且是过敏体质,是不是榛果类的都不能吃了 没吃腰果为什么过敏原查出腰过成份 腰果吃多了会怎么样 变哈喇味还能吃吗 哪些人不适合吃腰果 腰果的食用禁忌 吃了花椒也可以导致过敏?过敏原因竟然是这样 腰果过敏和花生有关系吗 vivo手机怎么设置通知,能在玩游戏的时候上方有微信消息弹出,并且能看到字?