Ajax的JQuery實(shí)現(xiàn)

jQuery,EXJ,Vue.js:都有Ajax函數(shù)

acync不寫(xiě)是true
cache不寫(xiě)是true
type不寫(xiě)是get
var params = {pageCurrent:4};等價(jià)于var params = "pageCurrent=1";
dataType默認(rèn)是json
http://localhost/ssm-v1/log/doLogListUI.do

jquery.js源碼

jQuery.ajaxSettings.xhr = function() {
    try {
        return new window.XMLHttpRequest();
    } catch ( e ) {}
};
            send: function( headers, complete ) {
                var i,
                    xhr = options.xhr();

                xhr.open(
                    options.type,
                    options.url,
                    options.async,
                    options.username,
                    options.password
                );
//....
            },
//...
                try {

                    // Do send the request (this may raise an exception)
                    xhr.send( options.hasContent && options.data || null );
                } catch ( e ) {

                    // #14683: Only rethrow if this hasn't been notified as an error yet
                    if ( callback ) {
                        throw e;
                    }
                }

使用jQuery的ajax不用考慮亂碼問(wèn)題

    ajaxSettings: {
        url: location.href,
        type: "GET",
        isLocal: rlocalProtocol.test( location.protocol ),
        global: true,
        processData: true,
        async: true,
        contentType: "application/x-www-form-urlencoded; charset=UTF-8",
    },

xhr.open("GET",url,true)方法相當(dāng)于打開(kāi)一個(gè)連接涯保,與服務(wù)端建立連接,底層是http請(qǐng)求,而http請(qǐng)求是面向連接的周伦,要與服務(wù)端通信需要建立連接夕春。打開(kāi)連接的時(shí)候需要設(shè)置參數(shù),如GET請(qǐng)求,url,true表示準(zhǔn)備發(fā)送請(qǐng)求,還沒(méi)發(fā)送
xhr.send(null);才是發(fā)送請(qǐng)求
回調(diào)函數(shù):函數(shù)是自己寫(xiě)的专挪,但不是由自己調(diào)用及志,由別人調(diào)用。如生活中網(wǎng)上買(mǎi)東西自己留下電話號(hào)碼寨腔,自己不知道東西什么時(shí)候到速侈,但是東西到了快遞員會(huì)給自己打電話(快遞員回調(diào)你打你的電話)。接口中的方法都可看成回調(diào)函數(shù)(由自己寫(xiě)但不由自己調(diào)用的函數(shù))迫卢。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日志</title>
</head>
<body>
    <h1>系統(tǒng)日志列表頁(yè)面Ajax-JQuery</h1>
    <h1>
        time:<%=new java.util.Date()%></h1>
    <table width="100%" border="1" cellspacing="0">
        <thead>
            <tr>
                <th>id</th>
                <th>userName</th>
                <th>Method</th>
            </tr>
        </thead>
        <tbody id="tbodyId">
            <tr>
                <td colspan="3">數(shù)據(jù)加載中倚搬。。乾蛤。</td>
            </tr>
        </tbody>
    </table>
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
        console.log("page load complete");
        doGetObjects();
    });
    function doGetObjects(){
        //定義參數(shù)
        var params="pageCurrent=1";
        //定義請(qǐng)求url
        var url="doFindPageObjects.do";
        //發(fā)起異步請(qǐng)求
        $.ajax({
            data:params,
            url:url,
            success:function(result){
                console.log(result);
                doHandleResponseResult(result);
            },
            error:function(){
                alert("錯(cuò)誤");
            }
        });
    }
    function doHandleResponseResult(result){
        
    }
    </script>
</body>
</html>

dataType默認(rèn)是json

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日志</title>
</head>
<body>
    <h1>系統(tǒng)日志列表頁(yè)面Ajax-JQuery</h1>
    <h1>
        time:<%=new java.util.Date()%></h1>
    <table width="100%" border="1" cellspacing="0">
        <thead>
            <tr>
                <th>id</th>
                <th>userName</th>
                <th>Method</th>
            </tr>
        </thead>
        <tbody id="tbodyId">
            <tr>
                <td colspan="3">數(shù)據(jù)加載中每界。。幻捏。</td>
            </tr>
        </tbody>
    </table>
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript">
    $(function(){
        console.log("page load complete");
        doGetObjects();
    });
    function doGetObjects(){
        //定義參數(shù)
        var params="pageCurrent=1";
        //定義請(qǐng)求url
        var url="doFindPageObjects.do";
        //發(fā)起異步請(qǐng)求
        $.ajax({
            data:params,
            url:url,
            dataType:"text",
            success:function(result){
                console.log(result);
                doHandleResponseResult(result);
            },
            error:function(){
                alert("錯(cuò)誤");
            }
        });
    }
    function doHandleResponseResult(result){
        
    }
    </script>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>日志</title>
</head>
<body>
    <h1>系統(tǒng)日志列表頁(yè)面Ajax-JQuery</h1>
    <h1>
        time:<%=new java.util.Date()%></h1>
    <table width="100%" border="1" cellspacing="0">
        <thead>
            <tr>
                <th>id</th>
                <th>userName</th>
                <th>Method</th>
            </tr>
        </thead>
        <tbody id="tbodyId">
            <tr>
                <td colspan="3">數(shù)據(jù)加載中盆犁。。篡九。</td>
            </tr>
        </tbody>
    </table>
    <script type="text/javascript" src="../js/jquery.min.js"></script>
    <script type="text/javascript">
        $(function() {
            console.log("page load complete");
            doGetObjects();
        });
        function doGetObjects() {
            //定義參數(shù)
            var params = "pageCurrent=1";
            //定義請(qǐng)求url
            var url = "doFindPageObjects.do";
            //發(fā)起異步請(qǐng)求
            $.ajax({//{(底層構(gòu)建XmlHttpRequest對(duì)象)-JS用XmlHttpRequest對(duì)象與服務(wù)端通訊
                data : params,
                url : url,
                dataType : "json",
                success : function(result) {
                    console.log(result);
                    doHandleResponseResult(result);
                },
                error : function() {
                    alert("錯(cuò)誤");
                }
            });
        }
        function doHandleResponseResult(result) {
            if (result.state == 1) {//state是我們自己在Json中定義的
                doSetTableBodyRows(result.data.records);
            } else {
                alert(result.message);
            }
        }

        function doSetTableBodyRows(records) {
            //1.獲取tbody對(duì)象谐岁,清空對(duì)象內(nèi)容
            var tBody = $("#tbodyId");
            tBody.empty();
            //2.將記錄追加到tbody中
            //for(var i=0;i<records.length;i++){

            //}
            for ( var i in records) {
                //創(chuàng)建tr對(duì)象
                var tr=$("<tr></tr>");
                //創(chuàng)建tds對(duì)象
                var tds=doCreateTds(records[i]);
                //將td追加到tr對(duì)象
                tr.append(tds);
                //將tr追加到tbody對(duì)象
                tBody.append(tr);
            }
        }
        function doCreateTds(row){
            var tds="<td>"+row.id+"</td>"+"<td>"+row.username+"</td>"+"<td>"+row.method+"</td>";
            return tds;
        }
        
    </script>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市榛臼,隨后出現(xiàn)的幾起案子伊佃,更是在濱河造成了極大的恐慌,老刑警劉巖沛善,帶你破解...
    沈念sama閱讀 212,332評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件航揉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡金刁,警方通過(guò)查閱死者的電腦和手機(jī)帅涂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)议薪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人媳友,你說(shuō)我怎么就攤上這事斯议。” “怎么了醇锚?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,812評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵哼御,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我焊唬,道長(zhǎng)恋昼,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,607評(píng)論 1 284
  • 正文 為了忘掉前任赶促,我火速辦了婚禮液肌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芳杏。我一直安慰自己矩屁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布爵赵。 她就那樣靜靜地躺著吝秕,像睡著了一般。 火紅的嫁衣襯著肌膚如雪空幻。 梳的紋絲不亂的頭發(fā)上烁峭,一...
    開(kāi)封第一講書(shū)人閱讀 49,919評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音秕铛,去河邊找鬼约郁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛但两,可吹牛的內(nèi)容都是我干的鬓梅。 我是一名探鬼主播,決...
    沈念sama閱讀 39,071評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谨湘,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼绽快!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起紧阔,我...
    開(kāi)封第一講書(shū)人閱讀 37,802評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤坊罢,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后擅耽,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體活孩,經(jīng)...
    沈念sama閱讀 44,256評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評(píng)論 2 327
  • 正文 我和宋清朗相戀三年乖仇,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了憾儒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片询兴。...
    茶點(diǎn)故事閱讀 38,712評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖起趾,靈堂內(nèi)的尸體忽然破棺而出蕉朵,到底是詐尸還是另有隱情,我是刑警寧澤阳掐,帶...
    沈念sama閱讀 34,389評(píng)論 4 332
  • 正文 年R本政府宣布,位于F島的核電站冷蚂,受9級(jí)特大地震影響缭保,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蝙茶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評(píng)論 3 316
  • 文/蒙蒙 一艺骂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧隆夯,春花似錦钳恕、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至愧口,卻和暖如春睦番,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背耍属。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,026評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工托嚣, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人厚骗。 一個(gè)月前我還...
    沈念sama閱讀 46,473評(píng)論 2 360
  • 正文 我出身青樓示启,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親领舰。 傳聞我的和親對(duì)象是個(gè)殘疾皇子夫嗓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容