2012-03-27 60 views
0

任何人都可以請幫我理解我應該如何訪問js中的json數據。 JSP-struts代碼訪問。我正在使用struts2,json,dojo。但是讓問題訪問數據。如何在dojo中使用json數據

var chartData = dojo.xhrGet({ 
     url : "getJSONResult", 
     handleAs : "json", 
     preventCache : false, 
     load : function(data) { 
      //how to process 

     } 
    }); 

我在struts.xml

<package name="json" namespace="/" extends="json-default"> 
    <action name="getJSONResult" method="execute" 

class="uk.co.bandc.businessmonitor.web.controller.ShowTransactionAction"> 
     <result type="json" /> 
    </action> 
</package> 

我的動作類

package uk.co.bandc.businessmonitor.web.controller; 

import com.opensymphony.xwork2.ActionSupport; 

public class ShowTransactionAction extends ActionSupport { 
/** 
* 
*/ 
private static final long serialVersionUID = 1L; 

int[] numberarray1 = { 10000, 9200, 11811, 12000, 7662, 13887, 14200, 12222, 12000,  
10009, 11288, 12099 }; 

public String execute() { 

    return SUCCESS; 
} // End execute() 

public int[] getNumberarray1() { 
    return numberarray1; 
} 

public void setNumberarray1(int[] numberarray1) { 
    this.numberarray1 = numberarray1; 
} 

} // End class 
+0

請修復代碼格式,謝謝。 – bernie 2012-03-27 16:39:01

+0

您遇到的問題是什麼?你的AJAX回調函數中的數據不包含JSON嗎?如果是這樣,首先要測試的是,當您使用鍵入瀏覽器位置的URL訪問您的操作時,是否將JSON數據返回到瀏覽器中? – 2012-03-27 16:59:47

+0

是的,如果我訪問http://127.0.0.1:8080/bizmon-web-user/getJSONResult我得到的結果{「numberarray1」:[10000,9200,11811,12000,7662,13887,14200,12222,12000, 10009,11288,12099]}。我想使用數組中的值作爲圖表的輸入。但不知道該怎麼做。 – JavaOyeOye 2012-03-27 17:07:13

回答

0

你想畫什麼樣的圖表?你的數據似乎是一維的。典型地,對於笛卡爾圖表(條形圖,線等),就需要2點維的數據,例如:

var exampleData = 
[ 
{ time: 10, count: 7382 }, 
{ time: 20, count: 1852 }, 
{ time: 35, count: 2397 }, 
{ time: 50, count: 1442 }, 
{ time: 55, count: 1854 } 
]; 

然後可以使用該dojox.charting.Chart2D來呈現圖表

http://dojotoolkit.org/documentation/tutorials/1.6/charting/見例子爲

+0

如果你將在頁面上看到http://dojotoolkit.org/documentation/tutorials/1.6/charting/月銷售餅圖你可以看到var chartData = [10000,9200,11811,12000,7662,13887,14200 ,12222,12000,10009,11288,12099];正在使用。我的問題是如何使用這些數據,如果我從服務器獲取格式爲{「numberarray1」:[10000,9200,11811,12000,7662,13887,14200,12222,12000,10009,11288,12099]}你試過 – JavaOyeOye 2012-03-28 09:09:27

+0

:chart.addSeries(「SalesThisDecade」,data.numberarray1); – 2012-03-28 13:55:00

+0

耶現在解決了。謝謝。其實我在語法上做了錯誤,現在已經解決了。 – JavaOyeOye 2012-03-28 14:35:07