No Data To Display-fusionchart

如題,fusionchart拋出這個錯誤,本身是告訴我們數據錯誤。

出現的原因便鎖定到數據錯誤,這就是最虐心的事情了,我一一說來:

我做了下它的封裝,放到了ext的Ext.container.Container組件裏。數據是官方例子,我放在了data.json文件裏。

使用的數據請求是chart.setJSONUrl('data.json')

以上是第一次渲染完成的樣子。

這一切都沒有問題,但這蘊含了一個大問題,當我切換頁面到‘近日重要事項’後,再切換回來:


好了,出錯了。

--------------------------------------------------------------------------------------------------------------------------------------------------

於是打開它的debug模式:


最後一段文字驚呆了我. 我傳遞的本來是json格式數據,爲何使用setJSONUrl後 它的渲染內容竟然是XML Data呢??

我清楚的看到後3行的信息 setDataXML  XML Data ...

可我用的是setJSONUrl   json Data 啊

------------------------------------------------------疑惑1,我不明白fusionchart內部到底做了什麼樣的轉換,激發我研究它代碼的衝動。

第一次渲染結束,我重複之前的操作,果然,錯誤出現了,debug模式下的提示信息:

No Data to Display: No data was found in the XML data document provided. Possible cases can be:
There isn't any data generated by your system. If your system generates data based on parameters passed to it using dataURL, please make sure dataURL is URL Encoded.
You might be using a Single Series Chart .swf file instead of Multi-series .swf file and providing multi-series data or vice-versa.

讓我欣慰的是 我JSON格式的數據終於變回來了,這果然是造成這個錯誤的原因,頁面切回來之後,數據格式對了,但是它的讀取還是XML!!!!!

這究竟是爲什麼? 我頁面切過來的一剎那到底發生了什麼? 

我打開firebug仔細看數據請求,它在切換的時候,並沒有再次發送請求啊  why?

--------------------寫到這 我停了下,在chrome裏看了一下. 我很慚愧:

我等會面壁。今兒先寫到這 我去看看到底是不是它再切換的剎那  又重新渲染到頁面上,進而發送了請求!!!!!

說下解決辦法,1年前我做它的時候,使用的是靜態數據,也就是說數據請求交由其他工具 如ext裏的ajax.request 數據請求過來後再使用fusionchart的set..Data方法

這樣的話 就繞開了fusionchart自身發送的請求信息。當然這也是我第一次使用url的方式請求,過幾天再研究它前後通信的過程然後更新。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章