我使用jqPlot,因爲我找不到一個像樣的地方來找出如何通過JSON發送多個系列到jqplot,我會盡力解決它。如何從.ajax調用中返回兩個JSON數組?
所以這裏有一個小背景:
現在,我可以打電話給我的servlet和與我打算在圖表中顯示的數據返回JSON陣列。
AJAX調用
$.ajax({
type: 'POST',
cache: 'false',
data: params,
url: '/miloWeb/PlotChartServlet',
async: false,
dataType: 'json',
success: function(series){
coordinates = [series] ;
},
error: function (xhr, ajaxOptions, thrownError){
alert(ajaxOptions);
}
});
SERVLET
private void generateCoordinates(HttpServletRequest request, HttpServletResponse response) throws IOException{
JSONArray coordinates = new JSONArray();
try {
coordinates = findChartCoordinatesByPatientPK();
} catch (JSONException e) {
e.printStackTrace();
}
response.getOutputStream().print(coordinates.toString());
}
這樣做是返回字符串:
[ 「2000年7月6日」,」 22.0 「],[」 2000" 年8月6日, 「20.0」],[ 「2003年8月6日」, 「15.0」],[ 「2005年8月6日」, 「35.0」],[」 08/06/2007「,」12.0「],[」08/06/2010「,」10.0「],[」08/06/2012「,」10.0「]]
因此,在變量「座標」,並使用這些用繪製jqPlot圖:
var plot10 = $.jqplot ('chartdiv', coordinates);
至此一切都很正常,現在來我想要實現:
如果我硬編碼一個字符串,象徵着另一個陣列內的兩個數組,如下所示:
[[["07/06/2000","22.0"],["08/06/2000","20.0"],["08/06/2003","15.0"],["08/06/2005","35.0"],["08/06/2007","12.0"],["08/06/2010","10.0"],["08/06/2012","10.0"]], [["07/06/2000","21.0"],["08/06/2000","19.0"],["08/06/2003","14.0"],["08/06/2005","34.0"],["08/06/2007","11.0"],["08/06/2010","9.0"],["08/06/2012","9.0"]]]
我可以得到jQplot來繪製圖表中兩條不同的線條!所以,我試圖做同樣的,返回一個String酷似一個通過servlet:
不工作SERVLET
private void generateCoordinates(HttpServletRequest request, HttpServletResponse response) throws IOException{
JSONArray coordinates = new JSONArray();
JSONArray coordinates2 = new JSONArray();
try {
coordinates = VitalsBB.findChartCoordinatesByPatientPK();
coordinates2 = VitalsBB.findChartCoordinatesByPatientPK2();
} catch (JSONException e) {
e.printStackTrace();
}
response.getOutputStream().print(coordinates.toString() + ", " + coordinates2.toString());
}
但是,這並不工作,它給了我一個解析錯誤。那麼我需要修改AJAX調用嗎?或者有沒有辦法將兩個JSON arrays.toString()
還給我的表單並將它們存儲在一個變量中?或者,也許我需要兩個變量?
您是否嘗試用''[''和'']''包裝輸出?請注意,您需要它作爲JSON數組。 – TheZ 2012-07-11 20:57:25
那是IT,花費在soooooooo基礎上的東西。謝謝 – Myy 2012-07-11 21:09:29
如果它在以前工作,並且您改變了某些事情,請始終檢查您剛纔在邏輯上進行了更改的位置。這很可能是罪魁禍首:) – TheZ 2012-07-11 21:13:51