<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(){
        
    //首先測試一下頁面的按鈕按下,可以調(diào)用這個方法
        //使用javascript的alert方法,顯示一個探出提示框
        //alert("按鈕被點擊了?。?!");

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

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


    }


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


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


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

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

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

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

            }

        }

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


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

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

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

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


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

        }

    }



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



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

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


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

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

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


    }


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


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

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


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


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

    //--------------------------------jquery局部刷新的方法--------------------------------------------
    //
    需要點擊主菜單的按鈕時,對應(yīng)的子菜單可以顯示,再次點擊子菜單則隱藏
    頁面
    <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的事件
    //
    保證主菜單點擊時可以顯示或隱藏子菜單
    //
    注冊頁面裝載時執(zhí)行的方法
    $(document).ready(function() {
        
    //這里需要首先找到所有的主菜單
        //然后給所有的主菜單注冊點擊事件
        //找到ul中的節(jié)點
        var as = $("ul > a");
        as.click(
    function() {
            
    //這里需要找到當(dāng)前ul中的li,然后讓li顯示出來
            //獲取當(dāng)前被點擊的a節(jié)點
            var aNode = $(this);
            
    //找到當(dāng)前a節(jié)點的所有l(wèi)i兄弟字節(jié)點
            var lis = aNode.nextAll("li");
            
    //讓子節(jié)點顯示或隱藏
            lis.toggle("show");
        }
    );
        $(
    "li>a").click(function(){
        $(
    "#content").load($(this).attr("id"));
        }
    );
    }
    );
    posted on 2009-11-03 10:12 junly 閱讀(647) 評論(1)  編輯  收藏 所屬分類: ajax/jquery/js

    評論:
    # re: ajax基礎(chǔ)-jquery 2010-03-01 02:18 | 動漫360
    很好的內(nèi)容!謝謝分享!  回復(fù)  更多評論
      
    主站蜘蛛池模板: 久久大香香蕉国产免费网站| 高潮毛片无遮挡高清免费 | 成人免费午夜视频| 日韩免费毛片视频| 国产亚洲一区二区精品| 又粗又长又爽又长黄免费视频| 中文成人久久久久影院免费观看| 亚洲午夜爱爱香蕉片| 久久久久亚洲精品日久生情 | 99re视频精品全部免费| 亚洲精品白浆高清久久久久久| 免费看黄的成人APP| 亚洲AV无码一区二区乱子伦| 久久综合国产乱子伦精品免费| 亚洲第一中文字幕| 国产在线观看麻豆91精品免费| 99久久婷婷国产综合亚洲| 成年女人毛片免费播放人| 色婷婷六月亚洲综合香蕉| 免费99热在线观看| 三级毛片在线免费观看| 日韩精品视频免费网址| 美女露100%胸无遮挡免费观看| 中文字幕第一页亚洲| 亚洲综合欧美色五月俺也去| a级特黄毛片免费观看| 老色鬼久久亚洲AV综合| 在线观看免费为成年视频| 老司机免费午夜精品视频| 亚洲成AV人片在线播放无码| 2021免费日韩视频网| 黄色三级三级免费看| 久久亚洲国产视频| 四虎影视免费在线| 免费播放在线日本感人片| 亚洲国产情侣一区二区三区| 国产真人无码作爱免费视频| 亚洲美女视频网站| 免费大片黄手机在线观看| 91人人区免费区人人| 亚洲国产综合91精品麻豆|