【发布时间】:2017-10-01 01:09:21
【问题描述】:
Controller 中的 Json 数据没有进入 Success 函数,因为它在浏览器中表示“加载资源失败:服务器响应状态为 406(不可接受)”或正在执行错误函数。 .
谁能帮帮我
AJAX 调用
<script type="text/javascript">
google.charts.load("current", {packages:["corechart"]});
google.charts.setOnLoadCallback(drawChart);
alert("I am okay");
function drawChart () {
$.ajax({
url: "index.html",
type:'get',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
//dataType: "json",
success: function (jsonData) {
alert("Success..............");
alert(jsonData.jData);
var data = new google.visualization.DataTable();
// assumes "word" is a string and "count" is a number
data.addColumn('number', 'Year');
data.addColumn('number', 'Sales');
data.addColumn('number', 'Expenses');
data.addColumn('number', 'Profit');
alert("inside.....");
alert(data);
for (var i = 0; i < jsonData.length; i++)
{
data.addRow([jsonData[i].profit, jsonData[i].sales, jsonData[i].year, jsonData[i].expenses]);
}
alert(data);
var options = {
title: 'Company Details',
};
var chart = new google.visualization.PieChart(document.getElementById('Chart_div'));
chart.draw(data, options);
},
error: function(e)
{
alert('Error: ' + e);
}
});
}
</script>
控制器
@RequestMapping(value = "/index",method = RequestMethod.GET,headers = {"Content-type=application/json"})
@ResponseBody
public JSONArray getshowempPage() throws SQLException, JSONException
{
JSONArray jData=gservice.GraphData();
System.out.println(jData.toString());
//Here i am getting This result
jData = [{"profit":"200","sales":"2000","year":"2014","expenses":"400"},{"profit":"250","sales":"1170","year":"2015","expenses":"460"}]
return jData;
}
提前致谢.....
【问题讨论】:
-
为了简单起见,您可以从 ajax 调用中删除属性标头,也可以从控制器中删除。 Spring 会正确处理请求
标签: javascript json ajax spring-mvc google-visualization