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

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

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

    隨筆-124  評論-49  文章-56  trackbacks-0
    //--------------------------------使用jquery--------------------------------------------
    //
    定義用戶名校驗的方法
    function verify(){
        
    //首先測試一下頁面的按鈕按下,可以調用這個方法
        //使用javascript的alert方法,顯示一個探出提示框
        //alert("按鈕被點擊了!!!");

        
    //1.獲取文本框中的內容
        //document.getElementById("userName");  dom的方式
        //Jquery的查找節點的方式,參數中#加上id屬性值可以找到一個節點。
        //jquery的方法返回的都是jquery的對象,可以繼續在上面執行其他的jquery方法
        var jqueryObj = $("#userName");
        
    //獲取節點的值
        var userName = jqueryObj.val();
        
    //alert(userName);

        
    //2.將文本框中的數據發送給服務器段的servelt
        //使用jquery的XMLHTTPrequest對象get請求的封裝
        $.get("AJAXServer?name=" + userName,null,callback);


    }


    //回調函數
    function callback(data) {
    //    alert("服務器段的數據回來了!!");
        //3.接收服務器端返回的數據
    //
        alert(data);
        //4.將服務器段返回的數據動態的顯示在頁面上
        //找到保存結果信息的節點
        var resultObj = $("#result");
        
    //動態的改變頁面中div節點中的內容
        resultObj.html(data);
        alert(
    "");
    }


    //以上簡化如下
    function verify() {
        $.get(
    "AJAXServer?name="+$("#name").val(),null,function(data){
        $(
    "#result").html(data);
        }
    );
    }
    );
    }


    //---------------------使用XMLHTTPRequest對象來進行AJAX的異步數據交互-----------------------------------
    var xmlhttp;
    function verify() {
        
    //0。使用dom的方式獲取文本框中的值
        //document.getElementById("userName")是dom中獲取元素節點的一種方法,一個元素節點對應HTML頁面中的一個標簽,如果<input>
        //。value可以獲取一個元素節點的value屬性值
        var userName = document.getElementById("userName").value;

        
    //1.創建XMLHttpRequest對象
        //這是XMLHttpReuquest對象無部使用中最復雜的一步
        //需要針對IE和其他類型的瀏覽器建立這個對象的不同方式寫不同的代碼

        
    if (window.XMLHttpRequest) {
            
    //針對FireFox,Mozillar,Opera,Safari,IE7,IE8
            xmlhttp = new XMLHttpRequest();
            
    //針對某些特定版本的mozillar瀏覽器的BUG進行修正
            if (xmlhttp.overrideMimeType) {
                xmlhttp.overrideMimeType(
    "text/xml");
            }

        }
     else if (window.ActiveXObject) {
             
    //針對IE6,IE5.5,IE5
            //兩個可以用于創建XMLHTTPRequest對象的控件名稱,保存在一個js的數組中
            //排在前面的版本較新
            var activexName = ["MSXML2.XMLHTTP","Microsoft.XMLHTTP"];
            
    for (var i = 0; i < activexName.length; i++{
                
    try{
                    
    //取出一個控件名進行創建,如果創建成功就終止循環
                    //如果創建失敗,回拋出異常,然后可以繼續循環,繼續嘗試創建
                    xmlhttp = new ActiveXObject(activexName[i]);
                    
    break;
                }
     catch(e){
                }

            }

        }

        
    //確認XMLHTtpRequest對象創建成功
        if (!xmlhttp) {
            alert(
    "XMLHttpRequest對象創建失敗!!");
            
    return;
        }
     else {
            alert(xmlhttp.readyState);
        }


        
    //2.注冊回調函數
        //注冊回調函數時,之需要函數名,不要加括號
        //我們需要將函數名注冊,如果加上括號,就會把函數的返回值注冊上,這是錯誤的
        xmlhttp.onreadystatechange = callback;

        
    //3。設置連接信息
        //第一個參數表示http的請求方式,支持所有http的請求方式,主要使用get和post
        //第二個參數表示請求的url地址,get方式請求的參數也在url中
        //第三個參數表示采用異步還是同步方式交互,true表示異步
        xmlhttp.open("GET","AJAXServer?name="+ userName,true);

        
    //POST方式請求的代碼
        //xmlhttp.open("POST","AJAXServer",true);
        //POST方式需要自己設置http的請求頭
        //xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
        //POST方式發送數據
        //xmlhttp.send("name=" + userName);

        
    //4.發送數據,開始和服務器端進行交互
        //同步方式下,send這句話會在服務器段數據回來后才執行完
        //異步方式下,send這句話會立即完成執行
        xmlhttp.send(null);
    }


    //回調函數
    function callback() {
        
    //alert(xmlhttp.readyState);
        //5。接收響應數據
        //判斷對象的狀態是交互完成
        if (xmlhttp.readyState == 4{
            
    //判斷http的交互是否成功
            if (xmlhttp.status == 200{
                
    //獲取服務漆器端返回的數據
                //獲取服務器段輸出的純文本數據
                var responseText = xmlhttp.responseText;
                
    //將數據顯示在頁面上
                //通過dom的方式找到div標簽所對應的元素節點
                var divNode = document.getElementById("result");
                
    //設置元素節點中的html內容
                divNode.innerHTML = responseText;
            }
     else {
                alert(
    "出錯了!!!");
            }

        }

    }



    //-----------------xml----使用XMLHTTPRequest對象來進行AJAX的異步數據交互---xml--------------------------------
    //
    自已寫的返回xml
    httpServletResponse.setContentType("text/xml;charset=utf-8");
    StringBuilder builder 
    = new StringBuilder();
    builder.append(
    "<message>");
    //使用responseXML的方式來接收XML數據對象的DOM對象
                var domObj = xmlhttp.responseXML;
                
    if (domObj) {
                    
    //<message>123123123</message>
                    //dom中利用getElementsByTagName可以根據標簽名來獲取元素節點,返回的是一個數組
                    var messageNodes = domObj.getElementsByTagName("message");
                    
    if (messageNodes.length > 0{
                        
    //獲取message節點中的文本內容
                        //message標簽中的文本在dom中是message標簽所對應的元素節點的字節點,firstChild可以獲取到當前節點的第一個子節點
                        //通過以下方式就可以獲取到文本內容所對應的節點
                        var textNode = messageNodes[0].firstChild;
                        
    //對于文本節點來說,可以通過nodeValue的方式返回文本節點的文本內容
                        var responseMessage = textNode.nodeValue;



                        
    //將數據顯示在頁面上
                        //通過dom的方式找到div標簽所對應的元素節點
                        var divNode = document.getElementById("result");
                        
    //設置元素節點中的html內容
                        divNode.innerHTML = responseMessage;
                    }
     else {
                        alert(
    "XML數據格式錯誤,原始文本內容為:" + xmlhttp.responseText);
                    }

                }
     else {
                    alert(
    "XML數據格式錯誤,原始文本內容為:" + xmlhttp.responseText);
                }


    //使用jquery返回xml            
    function verify(){
        
    //首先測試一下頁面的按鈕按下,可以調用這個方法
        //使用javascript的alert方法,顯示一個探出提示框
        //alert("按鈕被點擊了!!!");

        
    //1.獲取文本框中的內容
        //document.getElementById("userName");  dom的方式
        //Jquery的查找節點的方式,參數中#加上id屬性值可以找到一個節點。
        //jquery的方法返回的都是jquery的對象,可以繼續在上面執行其他的jquery方法
        var jqueryObj = $("#userName");
        
    //獲取節點的值
        var userName = jqueryObj.val();
        
    //alert(userName);

        
    //2.將文本框中的數據發送給服務器段的servelt
        //javascript當中,一個簡單的對象的定義方法
        var obj = {name:"123",age:20};
        
    //使用jquery的XMLHTTPrequest對象get請求的封裝
        $.ajax({
            type: 
    "POST",            //http請求方式
            url: "AJAXXMLServer",    //服務器段url地址
            data: "name=" + userName,           //發送給服務器段的數據
            dataType: "xml",  //告訴JQuery返回的數據格式
            success: callback  //定義交互完成,并且服務器正確返回數據時調用的回調函數
        }
    );


    }


    //回調函數
    function callback(data) {
    //    alert("服務器段的數據回來了!!");
        //3.接收服務器端返回的數據
        //需要將data這個dom對象中的數據解析出來
        //首先需要將dom的對象轉換成JQuery的對象
        var jqueryObj = $(data);
        
    //獲取message節點
        var message = jqueryObj.children();
        
    //獲取文本內容
        var text = message.text();
        
    //4.將服務器段返回的數據動態的顯示在頁面上
        //找到保存結果信息的節點
        var resultObj = $("#result");
        
    //動態的改變頁面中div節點中的內容
        resultObj.html(text);
        alert(
    "");
    }


    //--------------------------------中文亂碼問題--------------------------------------------
    //
    1 頁在端發出的數據作一次encodeURI,服務器端使用new String(old.getBytes("iso8859-1","UTF-8"))
    //
    頁面代碼修改
    var url="AJAXServer?name="+encodeURI($("#userName").val());
    //服務器servlet代碼修改
    String old = httpServletRequest.getParamenter("name");
    String name 
    = new String(old.getBytes("iso8859-1"),"UTF-8");

    //2 頁在端發出的數據作兩次encodeURI,服務器端使用URLDecoder.decode(old,"UTF-8")
    //
    頁面代碼修改
    var url="AJAXServer?name="+encodeURI(encodeURI($("#userName").val()));
    //服務器servlet代碼修改
    String old = httpServletRequest.getParamenter("name");
    String name 
    = URLDecoder.decode(old,"UTF-8");


    //--------------------------------jquery隱藏/顯示浮動窗口的方法--------------------------------------------
    //
    顯示浮動窗口的方法
    function showwin() {
        
    //lert("準備顯示彈出窗口啦!!!");
        //1.找到窗口對應的div節點
        var winNode = $("#win");
        
    //2.讓div對應的窗口顯示出來
        //方法1,修改節點的css值,讓窗口顯示出來
        //winNode.css("display","block");
        //方法2,利用Jqeury的show方法
        //winNode.show("slow");
        //方法3,利用JQuery的fadeIn方法
        winNode.fadeIn("slow");
    }


    //隱藏窗口的方法
    function hide() {
        
    //1.找到窗口對應的節點
        var winNode = $("#win");
        
    //2.將窗口隱藏起來
        //方法1,修改css
        //winNode.css("display","none");
        //方法2,利用hide方法
        //winNode.hide("slow");
        //方法3,利用fadeOut方法
        winNode.fadeOut("slow");
    }

    //--------------------------------jquery局部刷新的方法--------------------------------------------
    //
    需要點擊主菜單的按鈕時,對應的子菜單可以顯示,再次點擊子菜單則隱藏
    頁面
    <ul>
        
    <a href="#">我是菜單1</a>
        
    <li><a href="#" id="JQueryAutoComplete.html">我是子菜單1</a></li>
        
    <li><a href="#" id="JQueryAutoComplete.html">我是子菜單2</a></li>
    </ul>
    //需要編寫代碼,在頁面裝載時,給所有的主菜單添加onclick的事件
    //
    保證主菜單點擊時可以顯示或隱藏子菜單
    //
    注冊頁面裝載時執行的方法
    $(document).ready(function() {
        
    //這里需要首先找到所有的主菜單
        //然后給所有的主菜單注冊點擊事件
        //找到ul中的節點
        var as = $("ul > a");
        as.click(
    function() {
            
    //這里需要找到當前ul中的li,然后讓li顯示出來
            //獲取當前被點擊的a節點
            var aNode = $(this);
            
    //找到當前a節點的所有li兄弟字節點
            var lis = aNode.nextAll("li");
            
    //讓子節點顯示或隱藏
            lis.toggle("show");
        }
    );
        $(
    "li>a").click(function(){
        $(
    "#content").load($(this).attr("id"));
        }
    );
    }
    );
    posted on 2009-11-03 10:12 junly 閱讀(638) 評論(1)  編輯  收藏 所屬分類: ajax/jquery/js

    評論:
    # re: ajax基礎-jquery 2010-03-01 02:18 | 動漫360
    很好的內容!謝謝分享!  回復  更多評論
      
    主站蜘蛛池模板: 亚洲精品视频在线观看免费| 免费一级毛片免费播放| 国产精品亚洲二区在线观看| 久久亚洲最大成人网4438| 久久不见久久见免费影院www日本 久久WWW免费人成—看片 | 国产福利在线免费| 亚洲国产精品无码中文字| 日韩在线视频免费| 青青青国产免费一夜七次郎| 亚洲精品免费在线视频| APP在线免费观看视频| 亚洲精品国产va在线观看蜜芽| 亚洲国产日韩视频观看| 巨波霸乳在线永久免费视频 | 国产又大又黑又粗免费视频| 亚洲一区无码中文字幕乱码| 久久这里只精品热免费99| 亚洲午夜国产精品无码| 青青草97国产精品免费观看| 天天干在线免费视频| 久久亚洲最大成人网4438| 国产大片免费网站不卡美女 | 黄人成a动漫片免费网站| 成年女人午夜毛片免费视频| 亚洲欧洲日产国产最新| 久久香蕉国产线看免费| 国产AV无码专区亚洲AV毛网站| caoporm超免费公开视频| 免费少妇a级毛片人成网| 亚洲AV成人精品一区二区三区 | 尤物永久免费AV无码网站| 国产人成亚洲第一网站在线播放| xx视频在线永久免费观看| 久久精品国产亚洲av高清漫画| 日韩免费电影网站| 亚洲AV综合色区无码一区爱AV| 成人毛片100免费观看| 国产亚洲精品无码专区| sss在线观看免费高清| 亚洲伊人久久成综合人影院| 日韩精品视频在线观看免费 |