關於springMvc框架對於ajax的數據處理

我們都知道springMvc框架契合了ajax,通過@ResponseBody可以返回我們多想要的數據,但是,就在我前幾天使用amChart製作圖表的時候,我在後臺傳遞是字符串,格式什麼都正符合amChart前端所需的數據,但確是失敗的結局。

下面爲其需要的數據格式:

 var chartData = [
                {
                    "country": "USA",
                    "year2004": 3.5,
                    "year2005": 4.2
                },
                {
                    "country": "UK",
                    "year2004": 1.7,
                    "year2005": 3.1
                }];

後來我當我返回的是對象的時候,OK了,圖表沒有問題了。

下面是我返回的數據

@ResponseBody
   @RequestMapping(value={"chart_yjdb.htm"})
    public List<Map<String,Object>>..............

所以,問題顯而易見了,當在js內部時,其定義的參數,例如year2005後面對應的4.2是沒有“”的,雖然以字符串的形式返回給頁面的數據表面上和其所需的數據‘一模一樣’,但是其對於js而言完全不同,js內部定義的不需要解析,而我們傳遞過來的對象或是springMvc,或是Ajax,或是js,會將其轉換成自動帶“”的,無論是誰,反正這種機制都和他們脫不了干係。由此可見,當springMvc在對ajax的請求做出響應時,我們傳遞對象所面臨的“風險會小的多”。

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