首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IE8中的Javascript对象

IE8中的Javascript对象
EN

Stack Overflow用户
提问于 2012-04-03 15:28:42
回答 1查看 487关注 0票数 0

我在IE8中使用flot时遇到了问题。我可以拉入excanvas.js文件,但IE现在似乎对我的对象有问题。下面是我用来尝试构建条形图的代码

代码语言:javascript
复制
var uptime = [];
            var TotalUptime = 0;
            for(var i = 1; i < data.Service.length; i++){
                var UptimeValues = parseFloat(data.Service[i].TIME_UP) + parseFloat(data.Service[i].TIME_MAINT) + parseFloat(data.Service[i].TIME_DEGRADED);
                uptime.push([-i, UptimeValues / 14.4]);
                TotalUptime = TotalUptime + UptimeValues;
            }
            var ChartData = [
                {
                    data: uptime,
                    color: '#bfd730',
                    bars: {show: true, align:'center', barWidth:0.1, fillColor:'#bfd730'}
                },
            ];
            var options = {
                xaxis: {ticks:[[-1, 'Now']], color: '#ffffff', min: -30, max: -1},
                yaxis: {color: '#ffffff', min: 0 ,max: 100}
            };
            $.plot($("#ServiceInfoChart"), ChartData, options);

我得到的响应是'data‘为null或者不是一个对象。

我已经确认这不是flot本身的任何问题,因为我在其中放置了静态值,图表呈现得很好。我没有任何其他浏览器使用上述代码的问题。

我是不是漏掉了什么?

编辑:完整功能

我正在发出一个请求,它将返回JSON响应,如下所示

代码语言:javascript
复制
{"Service": [{"Name":"SomeService","Status":"UP","Description":"Some Description"},{"Date":"2012-04-02","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-04-01","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-04-00","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-30","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-29","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-28","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-27","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-26","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-25","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-24","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-23","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-22","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-21","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-20","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-19","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-18","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-17","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-16","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-15","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"},{"Date":"2012-03-14","TIME_UP":"1440.00","TIME_DOWN":"0.00","TIME_MAINT":"0.00","TIME_DEGRADED":"0.00"}]}

这是下面处理它的完整函数。

代码语言:javascript
复制
function GoToServiceInfo(){
    $.ajax({
        type: 'GET',
        url: 'get.php?Request=ServiceInfoFull',
        timeout: 10000,
        beforeSend: function (jqXHR, settings){
            jqXHR.setRequestHeader("SessionID", SessionID);
        },
        success: function(data){
            CheckForContactInfo();
            GetSubscriptions();
            $('#' + $('#content').find(':visible').attr('id')).slideToggle('fast', function(){
                $('#ServiceInfo').slideToggle('fast');
            });
            $('#ServiceInfoTitle').html(data.Service[0].Name);
            $('#ServiceInfoDescription').html('<h1>Description</h1>' + data.Service[0].Description);
            var uptime = [];
            var TotalUptime = 0;
            for(var i = 1; i < data.Service.length; i++){
                var UptimeValues = parseFloat(data.Service[i].TIME_UP) + parseFloat(data.Service[i].TIME_MAINT) + parseFloat(data.Service[i].TIME_DEGRADED);
                uptime.push([-i, UptimeValues / 14.4]);
                TotalUptime = TotalUptime + UptimeValues;
            }
            var ChartData = [
                {
                    data: uptime,
                    color: '#bfd730',
                    bars: {show: true, align:'center', barWidth:0.1, fillColor:'#bfd730'}
                },
            ];
            var options = {
                xaxis: {ticks:[[-1, 'Now']], color: '#ffffff', min: -30, max: -1},
                yaxis: {color: '#ffffff', min: 0 ,max: 100}
            };
            $.plot($("#ServiceInfoChart"), ChartData, options);
            var TotalUptimePercent = (TotalUptime / (data.Service.length - 1)) / 14.4;
            $('#UptimePercent').html('Uptime Past 30 Days <font color="#bfd730"> ' + TotalUptimePercent.toFixed(3) + '%</font>');
        },
        error: function(x, t, m) {
            if(t==="timeout") {
                noty({text: 'Error!', type: 'error', timeout: 2500});
            } else {
                noty({text: m, type: 'error', timeout: 2500});
            }
        }
    });
}
EN

回答 1

Stack Overflow用户

发布于 2012-04-04 12:50:54

所以看起来我的代码中有一个IE8不喜欢的逗号。几个小时后,我删除了它,现在一切都正常了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9988902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档