2013-04-10 175 views
0

我創建了一個java servlet,我在其中使用JSON對象,現在我想使用jquery將jSON對象的值提取到我的HTML頁面中,但我不知道該怎麼做它。使用jquery獲取JSON對象的值

servlet代碼:

ResultSet rs = st.executeQuery("Select * from SampleTable"); 
    JSONObject obj= new JSONObject(); 

    if(rs.next()) 
    { 
     String fname=rs.getString(1); 
     obj.put("status", "yes"); 
     obj.put("fname",fname); 
     System.out.println(obj); 
     out.print("Hello" + obj); 

    } 
    else 
    { 
     obj.put("status", "no"); 
     out.print(obj); 
    } 
+0

推測你的servlet正在監聽某個端口/ url - 你知道uri嗎? – 2013-04-10 05:50:08

+0

也許這可以幫助你 Darshan 2013-04-10 05:51:01

回答

1

在servlet設置response.setContentType("application/json");response.getWriter()前;

添加的jQuery的js

然後調用getData()像按鈕的點擊。

<script type="text/javascript"> 
    $(function(){ 
     function getData() { 

      $.ajax({ 
       url : 'getDataServlet', // Your Servlet mapping 
       type : 'POST', 
       dataType : 'json, 
       success : function(response) { 
        alert(response.status); 
       }, 
       error : function(request, textStatus, errorThrown) { 
        alert(errorThrown); 
       } 
      }); 
     } 

}); 
1

在JavaScript代碼,你可以簡單的寫:

<script type="text/javascript"> 
$(function(){ 
    function getData() { 

     $.ajax({ 
      url : 'getDataServlet', 
      type : 'POST', 
      dataType : 'json, 
      success : function(response) { 
       var status = data.status; 
       var fname = data.fname; 
      }, 
      error : function(error) { 
       //error handling.... 
      } 
     }); 
    } 

狀態和FNAME變量包含你把你的服務器端Java代碼的值。

通常,爲了從JavaScript中的JSON對象中獲取任何值,您只需要知道密鑰。 var value1 = object.key1; var value2 = object.key2;

等等......