您好我有一个js文件,它使用ajax从php脚本中获取XML文档。 XML文件形成绘制Fusion Chart的数据。我知道我正在获取XML数据,但FusionCharts不会绘制它。我非常感谢任何帮助,谢谢
(FusionCharts.js is included earlier in my script)
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", "chart.php?job="+job, true);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var xdoc = XMLHttpRequestObject.responseXML;
var chart1 = new FusionCharts("Pie3D.swf", "chart1Id", "400", "300", "0", "1");
chart1.setDataXML(xdoc);
chart1.render("chart1div");
chart.php生成此XML数据
<chart caption='ADI Chart Test ' >
<set label='Driver' value='12.25' />
<set label='Other Staff' value='223.21' />
<set label='Equipment' value='0.00' />
<set label='Additional Items' value='0.00' />
<set label='Vehicle Fuel' value='0.00' />
<set label='Accomodation' value='0.00' />
<set label='Generator Fuel' value='0.00' />
</chart>
答案 0 :(得分:1)
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("GET", "chart.php?job="+job, true);
XMLHttpRequestObject.onreadystatechange = function() {
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200) {
var xdoc = XMLHttpRequestObject.responseXML;
var chart1 = new FusionCharts("Pie3D.swf", "chart1Id", "400", "300", "0", "1");
chart1.setDataXML(xdoc);
chart1.render("chart1div");
谢谢..它有效!!
答案 1 :(得分:0)
看起来你有一个'chart1div',即使它没有定义Div。 为此,您需要定义Div。
另外,尝试使用responseText代替responseXML。这里,前者返回一个字符串,而后者返回一个XML文档对象。
实施例: var xdoc = XMLHttpRequestObject.responseText;
:)
答案 2 :(得分:0)
“Pie3D.swf”是否与您正在使用的同一根目录中存在?
答案 3 :(得分:0)
尝试从chart.php返回XML作为字符串..... 并尝试以下代码。
FusionCharts.RenderChart("/Charts/FCF_Pie3D.swf", "", $strXML, "ResourceVsCO1", "400", "200", false, false);
strXML是字符串,包含从chart.ph返回的xml