2012-09-26 21 views
5

我在servlet的新手,我需要從數據庫中獲取的數據顯示圖表的Jquery:Ajax調用的servlet和獲取數據的JSON

$.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獲取數據

+1

使用'console'對象的JavaScript的'log'方法來查看結構你稱之爲「數據」的對象。然後你可以決定如何處理你的成功函數中的'data'對象。 – steampowered

回答

6

所以這裏是

你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(); 

} 

希望這有助於

+0

謝謝。我會試一試 – DamnCoder

+0

它的工作非常感謝你 – DamnCoder

+0

你最好把它放在try-catch塊內,並處理異常。 –