<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 495,comments - 227,trackbacks - 0
    提交數據使用json代替xml

    ??? 頁面:jsonExample.jsp

    <%@ page contentType="text/html; charset=GBK" %>
    <html>
    <head>
    <title>
    JSON示例
    </title>
    <script type="text/javascript" src="zxml.src.js"></script>
    <script type="text/javascript" src="json.js"></script>
    <script type="text/javascript">
    ?var xmlHttp;
    ???????
    ??????? //創建對象
    ??????? function createXMLHttpRequest(){
    ??????? ?xmlHttp = zXmlHttp.createRequest();
    ??????? }
    ???????
    ??????? function doJSON(){
    ????????? ?//得到Car對象
    ??????? ?var car = getCarObject();
    ???????????????
    ??????????????? //用JSON字符串化car對象
    ??????????????? var carAsJSON = car.toJSONString();
    ??????????????? alert("汽車對象JSON化為:\n" + carAsJSON);
    ???????????????
    ??????????????? var url = "JSONExample?timeStamp=" + new Date().getTime();
    ???????????????
    ??????????????? //創建對象
    ??????????????? createXMLHttpRequest();
    ??????????????? xmlHttp.open("POST",url,true);
    ??????????????? xmlHttp.onreadystatechange = handleStateChange;
    ??????????????? xmlHttp.setRequestHeader("Content-Type","application/x-www-form.urlencoded");
    ??????????????? xmlHttp.send(carAsJSON);
    ??????? }
    ???????
    ??????? //回調方法
    ??????? function handleStateChange(){
    ??????? ?if (xmlHttp.readyState == 4){
    ??????????????? ?if (xmlHttp.status == 200){
    ??????????????????????? ?parseResults();
    ??????????????????????? }
    ??????????????? }
    ??????? }
    ???????
    ??????? //解析結果
    ??????? function parseResults(){
    ??????? ?var responseDiv = document.getElementById("serverResponse");
    ??????????????? if (responseDiv.hasChildNodes()){
    ??????????????? ?responseDiv.removeChild(responseDiv.childNode[0]);
    ??????????????? }
    ???????????????
    ??????????????? var responseText = document.createTextNode(xmlHttp.responseText);
    ??????????????? responseDiv.appendChild(responseText);
    ??????? }
    ???????
    ??????? //得到Car對象
    ??????? function getCarObject(){
    ??????? ?return new Car("Dodge","Coronet R/T",1968,"yellow");
    ??????? }
    ???????
    ???????
    ??????? //Car構造函數
    ??????? function Car(make,model,year,color){
    ??????? ?this.make = make;
    ??????????????? this.model = model;
    ??????????????? this.year = year;
    ??????????????? this.color = color;
    ??????? }
    </script>
    </head>
    <body>
    <br /><br />
    <form action="#">
    ? <input type="button" value="發送JSON數據" onclick="doJSON();"/>
    </form>
    <h2>
    ? 服務器響應:
    </h2>
    <div id="serverResponse">
    </div>
    </body>
    </html>

    ??? 服務器:JSONExample.java

    package ajaxbook.chap4;

    import java.io.*;
    import java.net.*;
    import java.text.ParseException;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import org.json.JSONObject;

    public class JSONExample
    ??? extends HttpServlet {
    ? //處理Post方法
    ? protected void doPost(HttpServletRequest request,
    ??????????????????????? HttpServletResponse response) throws ServletException,
    ????? IOException {
    ??? String json = readJSONStringFromRequestBody(request);

    ??? //使用JSON綁字Ajax對象
    ??? JSONObject jsonObject = null;
    ??? try {
    ????? jsonObject = new JSONObject(json);
    ??? }
    ??? catch (ParseException pe) {
    ????? System.out.println("ParseException: " + pe.toString());
    ??? }

    ??? //返回輸出結果
    ??? String responseText = "You have a " + jsonObject.getInt("year") + " "
    ??????? + jsonObject.getString("make") + " " + jsonObject.getString("model")
    ??????? + " " + " that is " + jsonObject.getString("color") + " in color.";

    ??? response.setContentType("text/xml");
    ??? response.getWriter().print(responseText);
    ? }

    ? //得到參數
    ? private String readJSONStringFromRequestBody(HttpServletRequest request) {
    ??? StringBuffer json = new StringBuffer();
    ??? String line = null;
    ??? try {
    ????? BufferedReader reader = request.getReader();
    ????? while ( (line = reader.readLine()) != null) {
    ??????? json.append(line);
    ????? }
    ??? }
    ??? catch (Exception e) {
    ????? System.out.println("Error reading JSON string: " + e.toString());
    ??? }
    ??? return json.toString();
    ? }
    }

    ?

    注意:要引入json.js和json的源文件,使用json.jar不行,源文件參見書籍源代碼第三章

    參考:Ajax基礎教程? 作筆記吧?



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=975204

    posted on 2006-12-31 16:52 SIMONE 閱讀(2084) 評論(0)  編輯  收藏 所屬分類: JSPAJAX
    主站蜘蛛池模板: 免费毛片在线看不用播放器| 看一级毛片免费观看视频| 7m凹凸精品分类大全免费| 亚洲福利精品电影在线观看| 男男gay做爽爽免费视频| 国产免费AV片无码永久免费| 国产亚洲欧美在线观看| 免费二级毛片免费完整视频| 爱情岛论坛网亚洲品质自拍| 香蕉国产在线观看免费| 浮力影院亚洲国产第一页| 两个人看的www免费视频| 亚洲永久精品ww47| 久久精品视频免费播放| 亚洲精品国产情侣av在线| 日韩欧美一区二区三区免费观看 | 亚洲日韩精品一区二区三区| 国产精品成人69XXX免费视频| 国产亚洲精品a在线观看 | 亚洲av无码一区二区三区不卡| 日韩精品无码专区免费播放| 亚洲成a人片7777| 国产中文字幕在线免费观看| 亚洲人成网www| 搡女人免费视频大全| 特黄aa级毛片免费视频播放| 国产亚洲3p无码一区二区| 在线观看的免费网站无遮挡| 亚洲砖码砖专无区2023| 亚洲另类少妇17p| 57pao国产成视频免费播放| 亚洲精品无码永久在线观看男男 | 亚洲精品视频免费| 亚洲精品国产第1页| 免费看www视频| a级毛片毛片免费观看久潮| 亚洲AV成人噜噜无码网站| 内射无码专区久久亚洲| 精品国产亚洲第一区二区三区| 亚洲一本大道无码av天堂| 最新黄色免费网站|