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

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

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

    hyljava

    ajax的傳值

    轉自:轉載請標明出處:http://blog.csdn.net/anyoneking/archive/2008/05/23/2472145.aspx
    1.回傳一個普通的String字符串.
    2.回傳一個組織好的Javascript字符串.
    3.回傳一個Json對象.(需要引入json.jar)
    4.回傳一個XML對象.
    基本實現如下:
    其中測試頁面為:

    <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
    <%request.setCharacterEncoding("UTF-8");%>
    <html>
    <head>
    <title>測試Ajax頁面</title>
    </head>
    <body>
    <table width="100%" height="100%" >
        
    <td align="center" valign="center" >
            
    <form action="" method="post" onsubmit="">
                
    <table border="3" >
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回String" type="button" value="試驗返回String" onclick="testAjaxForString();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回javascriptString" type="button" value="試驗返回javascriptString" onclick="testAjaxForObject();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回json" type="button" value="試驗返回json" onclick="testAjaxForJson();" style="width:140px;">
                        
    </td>
                    
    </tr>
                    
    <tr>
                        
    <td>
                            
    <input name="試驗返回xml" type="button" value="試驗返回xml" onclick="testAjaxForXml();" style="width:140px;">
                        
    </td>
                    
    </tr>
                
    </table>
            
    </form>
        
    </td>
    </table>
    </body>
    </html>

    <script type="text/javascript">
    var xmlHttp ;
    function createXmlHttpRequest(){
        
    if(window.ActiveXObject){
            xmlHttp 
    = new ActiveXObject("Microsoft.XMLHTTP") ;
        }
    else if(window.XMLHttpRequest){
            xmlHttp 
    = new XMLHttpRequest();
        }

    }

    /**//*返回String*/
    function testAjaxForString(){
        createXmlHttpRequest();
        
    var url = "HelloWorld?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
    //    xmlHttp.onreadystatechange = parseHello ;//如果是異步,既open中最后一個參數為true.則打開該選項.
        xmlHttp.open("post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText); 
    //如果是字符串或者xml.
    }


    /**//*返回JsObject*/
    function testAjaxForObject(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForObject?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
    //    xmlHttp.onreadystatechange = parseHello ;
        xmlHttp.open("post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText);
        
    var o = eval(xmlHttp.responseText);
        alert(
    "username="+o.username);
        alert(
    "password="+o.password);
        
    var farray = o.friend ;
        
    var fname ="";
        
    for(var i=0;i<farray.length;i++){
            fname 
    += farray[i]+"    ";
        }

        alert(
    "friend list ="+fname);    
    }

    //返回Json
    function testAjaxForJson(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForJson?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
        xmlHttp.open(
    "post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseText);
        
    var o = eval("(" + xmlHttp.responseText + ")");
        alert(o.userInfo.username);
        alert(o.userInfo.password);
        alert(o.userInfo.friends[
    0]);
        alert(o.userInfo.friends[
    1]);
    }


    //返回XML
    function testAjaxForXml(){
        createXmlHttpRequest();
        
    var url = "HelloWorldForXML?";
        
    var queryString = "name=songwei";
        url 
    += queryString ;
        xmlHttp.open(
    "post",url,false);
        xmlHttp.send(
    null);
        alert(xmlHttp.responseXML);
        alert (
    "tagName: " + xmlHttp.responseXML.documentElement.tagName);
        
    var xmlDoc = xmlHttp.responseXML ;
        
    var xmlRoot=xmlDoc.documentElement;
        
        
    var friendsItem=xmlRoot.getElementsByTagName("friends");
        alert(friendsItem[
    0].firstChild.firstChild.data);
        alert(friendsItem[
    0].firstChild.nextSibling.firstChild.data);
        
    var usernameItem = xmlRoot.getElementsByTagName("username");
        alert(usernameItem[
    0].firstChild.data);
        
    }



    </script>對于各種回傳方式的不同servlet實現:
    1.普通字符串 ,HelloWorld.java(Servlet)

    public class HelloWorld extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorld() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            
    // TODO Auto-generated method stub
            String name = request.getParameter("name");
            String str 
    = "Hello "+name ;
            PrintWriter pw 
    = response.getWriter();
            pw.print(str);
            pw.close();
        }
                     
    }

    2.Javascript字符串Servlet實現

    HelloWorldForObject.java
     
    public class HelloWorldForObject extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForObject() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String name 
    = request.getParameter("name");
            User user 
    = new User();
            user.setUsername(name);
            user.setPassword(
    "abc");
            List
    <String> friend = new ArrayList<String>();
            friend.add(
    "wangdong");
            friend.add(
    "zhaoyong");
            user.setFriend(friend);
            StringBuffer sb 
    = new StringBuffer();
            sb.append(
    "var o = new Object();");
            sb.append(
    "o.username ='"+user.getUsername()+"' ;");
            sb.append(
    "o.password ='"+user.getPassword()+"' ;");
            sb.append(
    "o.friend = new Array(");
            String tmp 
    = "" ;
            
    for(String s : user.getFriend()){
                
    if(tmp.trim().length()<1){
                    tmp 
    += "'"+s+"'" ;
                }
    else{
                    tmp 
    +="," ;
                    tmp 
    += "'"+s+"'" ;
                }

            }

            sb.append(tmp
    +") ;");
            sb.append(
    "o;");
            PrintWriter pw 
    = response.getWriter();
            pw.print(sb.toString());
            pw.close();
        }
                     
    }


    3.JSon對象實現

    HelloWorldForJson.java
     
    public class HelloWorldForJson extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForJson() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
             response.setCharacterEncoding(
    "UTF-8");  
             response.setHeader(
    "Cache-Control","no-cache");  
             request.setCharacterEncoding(
    "UTF-8");          
            String result 
    = new String();
            String name 
    = request.getParameter("name");
            
    try{
                JSONObject jsonResult 
    = new JSONObject();
                jsonResult.put(
    "username",name);
                jsonResult.put(
    "password","password");
                JSONArray jsonFriends 
    = new JSONArray();
                jsonFriends.put(
    "張三");
                jsonFriends.put(
    "李四");
                jsonResult.put(
    "friends",jsonFriends);
                result 
    = new JSONObject().put("userInfo", jsonResult).toString();
            }
    catch(JSONException jex){
                jex.printStackTrace();
            }

            response.getWriter().print(result);
            response.getWriter().close();
        }
                     
    }


    4.XML對象實現
    HelloWorldForXML.java  

    public class HelloWorldForXML extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
        
    public HelloWorldForXML() {
            
    super();
        }
           
        
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            doPost(request,response);
        }
          
        
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            String name 
    = request.getParameter("name");
            Document doc 
    = null ;
            String docStr 
    ="" ;
            
    try{
                DocumentBuilderFactory dbf 
    =DocumentBuilderFactory.newInstance();
                DocumentBuilder db 
    = dbf.newDocumentBuilder();
                doc 
    = db.newDocument();
                Element root 
    = doc.createElement("userInfo");
                doc.appendChild(root);
                Element nameE 
    = doc.createElement("username");
                Text nameT 
    = doc.createTextNode(name);
                nameE.appendChild(nameT);
                root.appendChild(nameE);    
        
                Element passE 
    = doc.createElement("password");
                Text passT 
    = doc.createTextNode("password");
                passE.appendChild(passT);
                root.appendChild(passE);    
                
                Element friends 
    = doc.createElement("friends");
                
                Element friend1 
    = doc.createElement("friend");
                Text f1T 
    = doc.createTextNode("張三");
                friend1.appendChild(f1T);
                Element friend2 
    = doc.createElement("friend");
                Text f2T 
    = doc.createTextNode("李四");
                friend2.appendChild(f2T);
                
                friends.appendChild(friend1);
                friends.appendChild(friend2);
                root.appendChild(friends);
                
                ByteArrayOutputStream bstream 
    = null;
                
    try {
                    bstream 
    = new ByteArrayOutputStream();
                    Transformer xformer 
    = TransformerFactory.newInstance()
                            .newTransformer();
                    Source source 
    = new DOMSource(doc);
                    Result result 
    = new StreamResult(bstream);
                    xformer.transform(source, result);
                }
     catch (Exception e) {
                    e.printStackTrace();
                }
            
                
    try {
                    docStr 
    =  new String(bstream.toByteArray(), "UTF-8");
                }
     catch (UnsupportedEncodingException e) {
                    e.printStackTrace();
                    docStr 
    = new String(bstream.toByteArray());
                }

                System.out.println(docStr);
            
            }
    catch(ParserConfigurationException ex){
                ex.printStackTrace();
            }

            response.setContentType(
    "text/xml;charset=UTF-8"); 
            PrintWriter writer 
    = response.getWriter();
            writer.print(docStr); 
            writer.flush(); 
            writer.close();        
        }
     

    posted on 2013-11-22 16:55 何云隆 閱讀(1846) 評論(2)  編輯  收藏 所屬分類: AJAX

    評論

    # re: ajax的傳值 2013-11-22 17:11 koflwx

    學習了,可以看看http://www.bjjtglgov.com/  回復  更多評論   

    # re: ajax的傳值 2013-11-23 11:18 鵬達鎖業

    支持 吧,,,,,,,,,,,,,,  回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费成人福利视频| 亚洲另类古典武侠| 免费一级毛片在级播放| 亚欧色视频在线观看免费| WWW国产成人免费观看视频| 亚洲sm另类一区二区三区| 亚洲三级视频在线观看| 亚洲国产美国国产综合一区二区| 亚洲精品第一国产综合精品99| 日本一道综合久久aⅴ免费| **一级毛片免费完整视| 一级做a爰全过程免费视频| 东北美女野外bbwbbw免费| 一级做a爰片久久毛片免费陪| 亚洲avav天堂av在线网毛片| 亚洲另类无码专区丝袜| 国产精品高清视亚洲精品| 亚洲六月丁香六月婷婷蜜芽| 91亚洲精品视频| 亚洲人成电影亚洲人成9999网| 日韩va亚洲va欧洲va国产| 亚洲一区二区三区无码中文字幕| 亚洲国产成人久久综合野外| 国产乱色精品成人免费视频| 国产成人免费永久播放视频平台| 啦啦啦手机完整免费高清观看| 成年丰满熟妇午夜免费视频 | 亚洲精品无码av人在线观看 | 亚洲AV无码专区亚洲AV桃| 亚洲真人无码永久在线观看| 亚洲国产视频久久| 亚洲中文字幕久久无码| 亚洲欧美日韩一区二区三区在线| 久久亚洲国产成人影院| 亚洲乱色伦图片区小说| 爱情岛亚洲论坛在线观看| 水蜜桃视频在线观看免费| 亚洲阿v天堂在线2017免费| A毛片毛片看免费| 日本免费久久久久久久网站| 久久免费美女视频|