1. 程式人生 > >後臺傳輸json資料+前臺使用ajax請求並處理json資料

後臺傳輸json資料+前臺使用ajax請求並處理json資料

後臺使用response傳輸json資料(把從資料庫的list資料,改變為json資料傳輸到前臺。沒有使用@ResponseBody,其實這個也可以)

@RequestMapping("/index"public void index(HttpServletResponse response){
        response.setContentType("text/html;charset=UTF-8");//防止中文亂碼
        List<User> list = serviceDemo.selectAll();
        String str1= null
; if(list!=null) { ObjectMapper x = new ObjectMapper();//ObjectMapper類提供方法將list資料轉為json資料 try { str1 = x.writeValueAsString(list); } catch (JsonProcessingException e) { e.printStackTrace(); } } try { response.getWriter().print
(str1); //返回前端ajax } catch (IOException e) { e.printStackTrace(); } }

前臺:首先要想使用ajax,必須匯入接收包(這一句話直接寫到jsp頁面直接使用)

<script src="http://code.jquery.com/jquery-1.4.4.min.js"></script>

script內容(整個jsp頁面)

<%@ page contentType="text/html;charset=UTF-8" language="java"
%>
<html> <head> <title>Title</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <script src="http://code.jquery.com/jquery-1.4.4.min.js"></script> <script> $(document).ready(function() { $.ajax({ url : "/User/index",//請求地址 dataType : 'json',//資料格式 type : "post",//請求方式 data :"", async : false,//是否非同步請求 success : function(msg) {//如何傳送成功 var data = eval(msg);//將msg化為數 var num = 1; $.each(data, function (num){ //alert(data[num].userName); var id = data[num].userId;//注意要與實體類中的名稱相同 var Name = data[num].userName; var Phone = data[num].userPhone; var Address = data[num].userAdress; var value = "<tr><td align='center'><input name='checked' type='checkbox' value="+id+"/></td>"; value +="<td align='center'>"+Name+"</td> <td align='center'>"+Name+"</td> <td align='center'>"+Phone+"</td> <td align='center'>"+Address+"</td><tr/>"; $("#tb").append(value);//寫入到id為tb的html部分 }); }, }) }) </script> </head> <body> <table id="tb" width="80%" border="1" cellspacing="0" cellpadding="0" align="center" > <tr> <%-- <th align="center"><input name="checked" type="checkbox" /></th>--%> <th align="center">ID</th> <th align="center">Name</th> <th align="center">Password</th> <th align="center">Phone</th> <th align="center">Address</th> </tr> </table> </body> </html>

最後給個tip,如果不知道哪有問題,直接用alert(輸出的內容),來除錯