IE8中的Javascript对象
Javascript Objects in IE8
我在IE8中使用flot时遇到问题。我很好地提取了excanvas.js文件,但IE现在似乎对我的对象有问题。这是我用来尝试构建条形图的代码
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本身没有任何问题,因为我在其中放入了静态值,图表呈现良好。我对使用上面代码的任何其他浏览器都没有任何问题。
我有什么东西不见了吗?
EDIT:全功能
我正在发出一个请求,该请求将发送回类似的JSON响应
{"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"}]}
这是下面处理它的全部功能。
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});
}
}
});
}
所以在我的代码中似乎有一个IE8不喜欢的尾随逗号。几个小时后我删除了它,现在一切都正常了!
相关文章:
- 面向对象JavaScript中的私有函数
- 对象 Javascript 中的标签无效 - 想要添加事件列表器
- 将字符串转换为对象 javascript/jquery
- 正在检查对象javascript中是否存在嵌套属性
- 时间-日期对象JavaScript getUTCMilliseconds
- 仅在对象(javascript)中解析值
- 使用对象(JavaScript或jQuery)填充选择下拉列表
- 引用另一个对象javascript中的对象
- 如何删除列表中的对象?Javascript nodejs和下划线
- 无法从日期对象javascript获取日期和月份
- 如何在if语句中使用对象-Javascript
- 对象javascript错误
- 对象Javascript的少数实例
- 位置对象Javascript
- 将字符串传递到对象javascript中
- 获取对象Javascript或jQuery的最后一个值
- 鼠标接近对象Javascript
- 这个mixins代码是书中的错误吗;面向对象JavaScript的原理”;
- 使用闭包编译器编写更好的面向对象JavaScript完整示例代码
- 访问对象javascript数组中的对象属性值