json格式的 jquery ajax 執行個體

來源:互聯網
上載者:User

       jquery使ajax的開發大大的簡化,做ajax的應用,前台和背景資料轉送時必然的。通常,我們可以使用普通的字串作為前後台傳輸的資料(例如使用特殊字元將各個元素分隔開,在後台用split處理等等)。當傳輸的資料量比較大,或者資料的格式比較複雜時,我們可以考慮使用json或者xml的格式來對資料封裝,傳輸。

jquery的ajax函數做的非常的棒,我們可以調用已經封裝好的$.get(),$.post(),$.ajax(),前兩個函數是最後一個函數的特殊,也就是說$.ajax()可以讓我們的ajax之旅的操控性更強。

下面是一個利用json傳輸的簡單例子:

import org.json.*;     public class MyBean {         private String name;       private int num;       private int array[];         public String getName() {           return name;       }         public void setName(String name) {           this.name = name;       }         public int getNum() {           return num;       }         public void setNum(int num) {           this.num = num;       }         public int[] getArray() {           return array;       }         public void setArray(int[] array) {           this.array = array;       }         public JSONObject toJson() {           JSONObject obj;           try {                obj= new JSONObject();               obj.put("name", this.name);               obj.put("num", this.num);               JSONArray array = new JSONArray(this.array);               obj.put("array", array);             } catch (Exception e) {               e.printStackTrace();               return null;           }           return obj;         }     }  

只是一個簡易的pojo類,用來類比,其中有自己的toJson()方法。需要用到org.json的包

import java.io.IOException;   import java.io.*;   import javax.servlet.ServletException;   import javax.servlet.http.HttpServlet;   import javax.servlet.http.HttpServletRequest;   import javax.servlet.http.HttpServletResponse;     public class JsonServlet extends HttpServlet {         @Override      protected void doGet(HttpServletRequest request,               HttpServletResponse response) throws ServletException, IOException {           // TODO Auto-generated method stub           this.doGet(request, response);       }         @Override      protected void doPost(HttpServletRequest request,               HttpServletResponse response) throws ServletException, IOException {           // TODO Auto-generated method stub           MyBean b = new MyBean();           b.setNum(22);           b.setName("andrew");           int [] array={1,2,3,4};           b.setArray(array);           String str=(String)request.getParameter("text");           System.out.println(str);           PrintWriter out=response.getWriter();           String data=b.toJson().toString();           out.print(data);           System.out.println(data);           out.flush();         }     }  

接受ajax請求的servlet

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"      pageEncoding="ISO-8859-1"%>   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">       <head>           <meta http-equiv="Content-Type"              content="text/html; charset=ISO-8859-1" />           <title>Insert title here</title>           <script               src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>           <script type="text/javascript">           $(document).ready(function(){           $("#b").click(function(){           var t=$("#text1").val()           $.post("json",{text:t},function(data){           var name=data.name;           var num=data.num;           var array=data.array;           $("#content1").html(name);                      },"json");})           })                      </script>           </head>       <body>             <div id="content1"></div>           <input type="text" id="text1" value="default" />           <input type="button" value="click me~" id="b" />       </body>   </html>  

利用$.post()方法,傳輸json格式的資料,方法的最後一個參數設定接受資料預設為json

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.