<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 閱讀(2083) 評論(0)  編輯  收藏 所屬分類: JSPAJAX
    主站蜘蛛池模板: 国产成人免费网站在线观看| 亚洲免费福利在线视频| 在线观看视频免费国语| 最近免费mv在线观看动漫| mm1313亚洲国产精品无码试看 | 老妇激情毛片免费| 亚洲国产精品线在线观看| AV在线亚洲男人的天堂| 大学生一级特黄的免费大片视频| 在线看片免费人成视久网| 久久成人永久免费播放| 国产AV无码专区亚洲AV琪琪| 精品国产成人亚洲午夜福利| 无码乱人伦一区二区亚洲| a级亚洲片精品久久久久久久| 免费国产一级特黄久久| 成年性生交大片免费看| 24小时日本韩国高清免费| a毛片久久免费观看| a一级爱做片免费| 免费国产va视频永久在线观看| 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲精品国产情侣av在线| 亚洲丁香色婷婷综合欲色啪| 亚洲精品国产精品乱码视色 | 亚洲欧美日韩久久精品| 丁香婷婷亚洲六月综合色| 亚洲依依成人精品| 亚洲欧洲视频在线观看| 亚洲天堂福利视频| 亚洲丝袜美腿视频| 久久亚洲美女精品国产精品| 亚洲AV日韩AV高潮无码专区| 久久精品国产精品亚洲艾| 国产亚洲3p无码一区二区| 亚洲自偷自偷在线制服 | 久久av免费天堂小草播放| 国产区在线免费观看| 91成人免费观看在线观看| 中文字幕乱码免费看电影| 人人揉揉香蕉大免费不卡|