这个是用 Jquery 读取XML 里面的数据 写入到 页面中 运行2 3 天没有问题 但是 时间一长 就会出现问题 每天晚上12点- 早晨8点 xml 是没有数据的 但是 程序会一直读取xml 报的错误如下:
当前页面的脚本发生错误
行: 133
Char: 3
错误: 'array[...]'为空或不是对象
代码: 0
URL: http://127.0.0.1/zjarr1.htm?
Data:arr_1.xml+Start:0+MaxRow:10+Text:FreeText1.xml+NumPage:5var vtop;//每行距离顶部百分比
var bgcolor;//每行背景色
var url=location.href;
var rownum;//浏览器参数总 行数
var allsize;//数据总数
var array;//封装数组
var start;//从第几行开始
var pagesize;//一共显示多少页
var dataa;//请求数据xml
var text;
var values=url.split("?")[1];
var vava=values.split("+");
for(var i=0;i<vava.length;i++){
var value=vava[i];
var val=value.split(":")[0];
if(val=="Data"){
dataa=value.split(":")[1];
}else if(val=="NumPage"){
pagesize=((value.split(":")[1])*1);
}else if(val=="MaxRow"){
rownum=((value.split(":")[1])*1);
}else if(val=="Text"){
text=value.split(":")[1];
}else if(val=="Start"){
start=((value.split(":")[1])*1);
}
}
//画页面框架,设置样式
$().ready(function (){
drawFrame();
getData();
$("body").everyTime(22000,getData);
});
function drawFrame(){
for(var i=1;i<=rownum;i++){
if(i==1){
vtop=0;//表头高度
bgcolor="#000033";
}else{
vtop=vtop+100/rownum;
if(i%2==0){
bgcolor="#000099";
}else{
bgcolor="#000033";
}
}
$("#main").append("<div id=\"S-1-"+i+"\" class=\"logo"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt;height:"+(100/rownum)+"%;top:"+vtop+"%;left:0px;width:5%;background-color:"+bgcolor+"\"></div>"+
//航班号
"<div id=\"S-2-"+i+"\" class=\"no"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt; height:"+(100/rownum)+"%;top:"+vtop+"%;left: 5%;width:15%;background-color:"+bgcolor+"\" align='center'></div>"+
// 始发站/途经站 终点站 中文/英文
"<div id=\"S-3-"+i+"\" class=\"road"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt;height:"+(100/rownum)+"%;top:"+vtop+"%;left:20%;width:30%;background-color:"+bgcolor+"\"></div>"+
//计划时间
"<div id=\"S-4-"+i+"\" class=\"sdt"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt;height:"+(100/rownum)+"%;top:"+vtop+"%;left:50%;width:13%;background-color:"+bgcolor+"\" align='center'></div>"+
//变更时间
"<div id=\"S-5-"+i+"\" class=\"last_d"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt;height:"+(100/rownum)+"%;top:"+vtop+"%;left:63%;width:13%;background-color:"+bgcolor+"\" align='center'></div>"+
//行李
"<div id=\"S-6-"+i+"\" class=\"belt_"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bold;font-size:36pt;height:"+(100/rownum)+"%;top:"+vtop+"%;left:76%;width:5%;background-color:"+bgcolor+"\" align='center'></div>"+
//状态
"<div id=\"S-7-"+i+"\" class=\"status_"+i+"\" style=\"position:absolute;overflow:hidden;font-family: Arial;font-weight:bolder;font-size:25px;height:"+(100/rownum)+"%;top:"+vtop+"%;left:81%;width:19%;background-color:"+bgcolor+"\" align='left'></div>"
);
}
}
//动态获取航班数据
function getData(){
$.ajax({
type: "GET",
url: dataa, //数据源
dataType: "xml",
success: function(data){
allsize=$(data).find("row").length;
array=new Array(allsize);
var i=0;
$(data).find("row").each(function(){
array[i]=$(this);
i++;
});
if(array.length<=(start*1)){//如果数据为空
document.getElementById("mss").style.display="none";
document.getElementById("ms").style.display ="block";
}else if(array.length>(start*1)){//这是如果数据不为空的情况
document.getElementById("ms").style.display="none";
document.getElementById("mss").style.display="block";
display();
}else{alert("else");}
}
});
$.ajax({
type: "GET",
url: text, //数据源
dataType: "xml",
success: function(data){
$(data).find("row").each(function(){
$("#bottom-main").html("<font color='#FFFFFF' size='8'><marquee>"+$(this).attr("TEXT_L1")+" "+$(this).attr("TEXT_L2")+"</marquee></font>");
});
}
});}//显示航班信息
var j=start;function display(){
for(var i=0;i<rownum;i++){
if(array.length<=(start*1)){//判断如果数据为空直接跳出循环 否则会出错
break;
}else if(j==((start*1)+(rownum*pagesize))){
j=start;
break;
}else if(j==allsize&&(array.length-start)==rownum){
j=start;
break;
}else if(j==allsize){
j=start;
for(var z=i;z<rownum;z++){
$("#S-1-"+(z+1)).html("");
$("#S-2-"+(z+1)).html("");
$("#S-3-"+(z+1)).html("");
$("#S-4-"+(z+1)).html("");
$("#S-5-"+(z+1)).html("");
$("#S-6-"+(z+1)).html("");
$("#S-7-"+(z+1)).html("");
}
break;
}else
// 就是以下 这一行 报的错误 var date=new Date(array[j].attr("SDT")*1000);
var date2=new Date(array[j].attr("LAST_D")*1000);
d1(date);
d2(date2);
var time1=myHour+":"+myMinutes;
var time2=myHour2+":"+myMinutes2;
var viacn=array[j].attr("ROUTE_N_1_L");
var viaen=array[j].attr("ROUTE_N_1");
if(viacn==null){
viacn="";
viaen="";
}else{
viacn=array[j].attr("ROUTE_N_1_L");
viaen=array[j].attr("ROUTE_N_1");
}
var scn=array[j].attr("REMARK_L");
var sen=array[j].attr("REMARK");
if(scn==null){
scn="";
sen="";
}else{
scn=array[j].attr("REMARK_L");
sen=array[j].attr("REMARK");
} $("#S-1-"+(i+1)).html("<img src=\"./../Logo/logo_"+array[j].attr("CARRIER_IATA")+".jpg\" width='100%' height='100%' />");
if(array[j].attr("REMARK_L")=="延误"){
$("#S-2-"+(i+1)).html("<font color='yellow';>"+array[j].attr("FLIGHT")+"</font>");
$("#S-3-"+(i+1)).html("<font color='yellow';><marquee>"+array[j].attr("ORDEST_N_L")+" "+array[j].attr("ORDEST_N")+" "+viacn+" "+viaen+"</marquee></font>");
$("#S-4-"+(i+1)).html("<font color='yellow';>"+time1+"</font>");
$("#S-5-"+(i+1)).html("<font color='yellow';>"+time2+"</font>");
$("#S-6-"+(i+1)).html("<font color='yellow';>"+""+"</font>");
$("#S-7-"+(i+1)).html("<font color='yellow';>"+scn+" "+sen+"</font>");
}else if(array[j].attr("REMARK_L")=="到达"){
$("#S-2-"+(i+1)).html("<font color='green';>"+array[j].attr("FLIGHT")+"</font>");
$("#S-3-"+(i+1)).html("<font color='green';><marquee>"+array[j].attr("ORDEST_N_L")+" "+array[j].attr("ORDEST_N")+" "+viacn+" "+viaen+"</marquee></font>");
$("#S-4-"+(i+1)).html("<font color='green';>"+time1+"</font>");
$("#S-5-"+(i+1)).html("<font color='green';>"+time2+"</font>");
$("#S-6-"+(i+1)).html("<font color='green';>"+""+"</font>");
$("#S-7-"+(i+1)).html("<font color='green';>"+scn+" "+sen+"</font>");
}else if(array[j].attr("REMARK_L")=="正在值机"){
$("#S-2-"+(i+1)).html("<font color='blue';>"+array[j].attr("FLIGHT")+"</font>");
$("#S-3-"+(i+1)).html("<font color='blue';><marquee>"+array[j].attr("ORDEST_N_L")+" "+array[j].attr("ORDEST_N")+" "+viacn+" "+viaen+"</marquee></font>");
$("#S-4-"+(i+1)).html("<font color='blue';>"+time1+"</font>");
$("#S-5-"+(i+1)).html("<font color='blue';>"+time2+"</font>");
$("#S-6-"+(i+1)).html("<font color='blue';>"+""+"</font>");
$("#S-7-"+(i+1)).html("<font color='blue';>"+scn+" "+sen+"</font>");
}else if(array[j].attr("REMARK_L")=="航空管制"){
$("#S-2-"+(i+1)).html("<font color='red';>"+array[j].attr("FLIGHT")+"</font>");
$("#S-3-"+(i+1)).html("<font color='red';><marquee>"+array[j].attr("ORDEST_N_L")+" "+array[j].attr("ORDEST_N")+" "+viacn+" "+viaen+"</marquee></font>");
$("#S-4-"+(i+1)).html("<font color='red';>"+time1+"</font>");
$("#S-5-"+(i+1)).html("<font color='red';>"+time2+"</font>");
$("#S-6-"+(i+1)).html("<font color='red';>"+""+"</font>");
$("#S-7-"+(i+1)).html("<font color='red';>"+scn+" "+sen+"</font>");
}
else{
$("#S-2-"+(i+1)).html("<font color='#FFFFFF';>"+array[j].attr("FLIGHT")+"</font>");
$("#S-3-"+(i+1)).html("<font color='#FFFFFF';><marquee>"+array[j].attr("ORDEST_N_L")+" "+array[j].attr("ORDEST_N")+" "+viacn+" "+viaen+"</marquee></font>");
$("#S-4-"+(i+1)).html("<font color='#FFFFFF';>"+time1+"</font>");
$("#S-5-"+(i+1)).html("<font color='#FFFFFF';>"+time2+"</font>");
$("#S-6-"+(i+1)).html("<font color='#FFFFFF';>"+""+"</font>");
$("#S-7-"+(i+1)).html("<font color='#FFFFFF';>"+scn+" "+sen+"</font>");
} j++;
}
}
var myMinutes = "";
var myMinutes2 = "";
function d1(date){
if ((date.getHours() >= 0) && (date.getHours() <= 9))
myHour = "0" + date.getHours();
else
myHour = date.getHours();
if ((date.getMinutes() >= 0) && (date.getMinutes() <= 9))
myMinutes = "0" + date.getMinutes();
else
myMinutes = date.getMinutes();
}
function d2(date2){
if ((date2.getHours() >= 0) && (date2.getHours() <= 9))
myHour2 = "0" + date2.getHours();
else
myHour2 = date2.getHours();
if ((date2.getMinutes() >= 0) && (date2.getMinutes() <= 9))
myMinutes2 = "0" + date2.getMinutes();
else
myMinutes2 = date2.getMinutes();
}
解决方案 »
- 刚学js,有个多选题的作业,谁来帮我看看思路对不对
- 请教一正则表达式写法
- asp+javascript,困惑我很久的问题
- 在一个表格中,如何让鼠标指向的那行变色,鼠标移出那行后又恢复原来的颜色。
- 它怎样才能停下来啊!!!!!!
- 待处理的问题,急啊!!!
- 禁止冒泡,怎么写?
- 这是什么意识啊!!!!!!!!!!!!!!!!!!!
- 吐血送分,如何用javascript得到radio中被选中的value?
- ext 2.2 类似ext 3.4 下拉框分页?
- 跪求extjs中的正则表达式意思
- <%# Eval("Datetime")%>绑定出时间2011-6-4..我想将'-'替换为'/'应该怎么写???????
function getData(){
$.ajax({
type: "GET",
url: dataa, // 数据源
dataType: "xml",
success: function(data){
allsize=$(data).find("row").length; //你把这个打出来看是什么?
array=new Array(allsize);//这句话有问题 var i=0;
$(data).find("row").each(function(){
array[i]=$(this);
i++;
});
if(array.length<=(start*1)){// 如果数据为空
document.getElementById("mss").style.display="none";
document.getElementById("ms").style.display ="block";
}else if(array.length>(start*1)){// 这是如果数据不为空的情况
document.getElementById("ms").style.display="none";
document.getElementById("mss").style.display="block";
display();
}else{alert("else");}
}
});
第二个那里出错误了? 也不是少括号的原因alert(start) alert(j)我都试过了 每一次刷新的时候 都会有值
function display(){
for(var i=0;i<rownum;i++){
if(array.length<=(start*1)){//判断如果数据为空直接跳出循环 否则会出错
break;
}else if(j==((start*1)+(rownum*pagesize))){
j=start;
break;
}else if(j==allsize&&(array.length-start)==rownum){
j=start;
break;
}else if(j==allsize){
j=start;
for(var z=i;z<rownum;z++){
$("#S-1-"+(z+1)).html("");
$("#S-2-"+(z+1)).html("");
$("#S-3-"+(z+1)).html("");
$("#S-4-"+(z+1)).html("");
$("#S-5-"+(z+1)).html("");
$("#S-6-"+(z+1)).html("");
$("#S-7-"+(z+1)).html("");
}
break;
}else // 少了 {
// 就是以下 这一行 报的错误 var date=new Date(array[j].attr("SDT")*1000);