【问题标题】:Jquery: Ajax call to servlet & get data as jsonJquery:Ajax 调用 servlet 并以 json 格式获取数据
【发布时间】:2012-09-18 00:37:06
【问题描述】:

我是 servlet 的新手,我需要从数据库中获取数据以显示图表

 $.ajax({
     url : "NameServlet",
     dataType : 'json',
     error : function(){
        alert("Error Occured");
     },
     success : function(data) {
        var receivedData = [];
    //how to put data in var (i.e. receivedData) which is received from servlet
     }
    });

什么是我的 servlet 来获取数据

【问题讨论】:

  • 使用 console 对象的 JavaScript log 方法查看您调用的对象 data 的结构。然后你可以决定如何在你的成功函数中处理data对象。

标签: jquery json servlets


【解决方案1】:

这就是答案

你的 jquery 将数据推送到你的变量

$.ajax({

            url : "NameServlet",
            dataType : 'json',
            error : function() {

                alert("Error Occured");
            },
            success : function(data) {
                var receivedData = [];

                $.each(data.jsonArray, function(index) {
                    $.each(data.jsonArray[index], function(key, value) {
                        var point = [];

                            point.push(key);
                            point.push(value);
                            receivedData.push(point);

                        }); 
                });

            }
        });

之后你需要 servlet 来获取 JSON 对象

Servlet 就像

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class NameServlet extends HttpServlet {

        int []sampleData=null;
        //sampleData= here you can get data from database

        //writing data to json
        response.setContentType("application/json;charset=utf-8");

        JSONObject json = new JSONObject();
        JSONArray array = new JSONArray();
        JSONObject member =  new JSONObject();

        member.put("arrayData", sampleData);
        array.add(member);

        json.put("jsonArray", array);

        PrintWriter pw = response.getWriter(); 
        pw.print(json.toString());
        pw.close();

}

希望对你有帮助

【讨论】:

  • 你最好把它放在 try-catch 块中并处理异常。
  • 如果我写 array.add(member),我会收到“找不到符号”错误。 add 是否被 JSONArray 中的任何内容替换?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-08
  • 1970-01-01
  • 1970-01-01
  • 2016-01-04
  • 2020-07-14
相关资源
最近更新 更多