【问题标题】:JSON Data is not coming from Controller to AJAX CallJSON 数据不是来自控制器到 AJAX 调用
【发布时间】: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


【解决方案1】:

你可以试试下面的脚本

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

【讨论】:

  • 谢谢,但还是没有收到。
猜你喜欢
  • 1970-01-01
  • 2023-03-21
  • 1970-01-01
  • 2021-11-23
  • 1970-01-01
  • 2023-02-02
  • 2016-11-11
  • 2016-07-22
  • 2015-01-27
相关资源
最近更新 更多