JSON数据不是从Controller到AJAX Call

时间:2017-05-03 09:23:45

标签: javascript json ajax spring-mvc google-visualization

Controller中的Json数据没有进入成功功能,因为它说"无法加载资源:服务器响应状态为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;
}

先谢谢.....

1 个答案:

答案 0 :(得分:0)

您可以尝试以下脚本

<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',
            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>