在动态绑定此数据时会出现错误 [英] while binding this data dynamically it get the error
问题描述
用于显示PIE CHART的HTMLCHARTS
未捕获的SyntaxError:意外的令牌n
[{name :'62098369',y:9000},{name:'62098319',y:6635.28},{name:'62098318',y:4705.88},{name:'62098307',y:4200},{name:' 62098368',y:3600},{name:'62098317',y:2353.17},{name:'62098316',y:2352.94},{name:'61090526',y:2250},{name:'62098306' ,y:2100},{name:'62098308',y:2100}]
如果json数据相同,如果静态传递为
var str = [{name:'62098369',y:9000},{name:'62098319',y:6635.28},{name:'62098318',y:4705.88},{名称:'62098307',y:4200},{name:'62098368',y:3600},{name:'62098317',y:2353.17},{name:'62098316',y:2352.94},{name: '61090526',y:2250},{name:'62098306',y:2100},{name:'62098308',y:2100}];
系列:[{
名称:GrossInvestment,
数据:str,
colorByPoint:true
}]
它工作正常但是当我动态调用时显示错误
未捕获的SyntaxError:意外的令牌n
谢谢
作为JSON编写的JavaScript对象(如[{},{}])和包含JSON格式字符串的字符串(如[{ },{}])...
在你的情况下,innerHTML返回一个字符串,但你稍后尝试解析为JSON对象...但是当你手动将它放在那里时你实际上是创建一个JSON对象...
所以,你要做的就是解析innerHTML的内容把它变成一个JSON对象...
var str = JSON .parse( 文档跨度> .getEle mentById( piedata)。innerHTML );
HTMLCHARTS for showing the PIE CHART
Uncaught SyntaxError: Unexpected token n
[{name: '62098369', y :9000} , {name: '62098319', y :6635.28} , {name: '62098318', y :4705.88} , {name: '62098307', y :4200} , {name: '62098368', y :3600} , {name: '62098317', y :2353.17} , {name: '62098316', y :2352.94} , {name: '61090526', y :2250} , {name: '62098306', y :2100} , {name: '62098308', y :2100} ]
this same above json data if pass statically as
var str= [{name: '62098369', y :9000} , {name: '62098319', y :6635.28} , {name: '62098318', y :4705.88} , {name: '62098307', y :4200} , {name: '62098368', y :3600} , {name: '62098317', y :2353.17} , {name: '62098316', y :2352.94} , {name: '61090526', y :2250} , {name: '62098306', y :2100} , {name: '62098308', y :2100} ];
series: [{
name: "GrossInvestment",
data: str,
colorByPoint: true
}]
it works fine but when i call dynamically it shows an error
Uncaught SyntaxError: Unexpected token n
Thanks
There is a big difference between a JavaScript object written as JSON (like [{},{}]) and a string containing a JSON formatted string (like "[{},{}]")...
In your case the innerHTML returns a string, but you try to parse later as JSON object...but when you are putting it there manually you are actually creating a JSON object...
So, what you have to do is to parse the content of innerHTML to turn it into a JSON object...
var str = JSON.parse(document.getElementById("piedata").innerHTML);
这篇关于在动态绑定此数据时会出现错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!