最近在项目中使用amcharts插件,用于数据表报显示柱状图什么的,结果该插件不知道怎么和jquery冲突什么的,逼得我用最原始的方法写Ajax。
var xmlHttp = null;
try {// Firefox, Opera 8.0+, Safari, IE7
xmlHttp = new XMLHttpRequest();
} catch (e) {// Old IE
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("Your browser does not support XMLHTTP!");
return;
}
}
var url = '<%=path%>/shvc/graphJson/loadIndustryGraphData.action?peId=${peId}';
xmlHttp.open("post", url, false);
xmlHttp.send(null);
var data=eval('(' + xmlHttp.responseText + ')');
var chartData=data.getGraphList;
后台Java代码:
public String loadIndustryGraphData(){
List<PeGraph> industryGraphList=peGraphService.getIndustryPeGraphData(peId);
String json = "{\"getGraphList\":[";
for (PeGraph obj : industryGraphList) {
json = json + "{\"graphName\":" +"'"+ obj.getGraphName() +"'"+ "," + "\"projectNum\":\""
+ obj.getProjectNum() + "\",\"investSum\":\"" + obj.getInvestSum() + "\"},";
}
json = json.substring(0, json.length() - 1) + "]}";
ServletActionContext.getResponse().setContentType("text/json; charset=utf-8");
ServletActionContext.getResponse().setHeader("Cache-Control", "no-cache");
PrintWriter out=null;
try {
out = ServletActionContext.getResponse().getWriter();
out.print(json);
} catch (IOException e) {
e.printStackTrace();
}finally{
out.flush();
out.close();
}
return null;
}
手动将数据转化成Json格式。