javascript之使用Ajax事件

來源:互聯網
上載者:User

標籤:htm5   前端   網頁設計   javascript   

XMLHttpRequest對象定義的事件:

abort——在請求被終止時觸發(ProgressEvent);

error——在請求失敗時觸發(ProgressEvent);

load——在請求成功完成時觸發(ProgressEvent);

loadend——在請求已完成時觸發,無論成功還是發生錯誤(ProgressEvent);

loadstart——在請求開始時觸發(ProgressEvent);

progress——觸發以提示請求的進度(ProgressEvent);

readystatechange——在請求生命週期的不同階段觸發(Event);

timeout——如果請求逾時則觸發(ProgressEvent);

註:考慮到瀏覽器對其它事件的支援還不到位,readystatechange是目前唯一能可靠追蹤請求進度的事件。

ProgressEvent對象定義的額外屬性:

lengthComputable——如果能夠計算資料流的長度則返回true;

loaded——返回當前已載入的資料量;

total——返回可用的資料總量;

<!DOCTYPE html><html lang="zh-CN"><head>    <meta charset="UTF-8">    <title>上海遠地資產管理有限公司</title>    <meta name="author" content="jason"/>    <meta name="description" content="上海遠地資產管理有限公司(簡稱:遠地資產),是一家專業的互連網金融服務平台."/>    <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon"/>    <style type="text/css">        table{            margin:10px;            border-collapse: collapse;            float: left;        }        th,td{            padding: 4px;        }        div{            margin: 10px;        }    </style></head><body>    <div>        <button>Apples</button>        <button>Cherries</button>        <button>Bananas</button>    </div>    <div id="target">        載入內容    </div>    <table id="events" border="1">    </table>    <script>        //使用XMLHttpRequest定義的一次性事件        var buttons=document.getElementsByTagName("button");        for(var i=0;i<buttons.length;i++){            buttons[i].onclick=handleButtonPress;        }        var httpRequest;        function handleButtonPress(e){            clearEventDetails();            httpRequest=new XMLHttpRequest();            httpRequest.onreadystatechange=handleResponse;            httpRequest.onerror=handleError;            httpRequest.onload=handleLoad;            httpRequest.onloadend=handleLoadEnd;            httpRequest.onloadstart=handleLoadStart;            httpRequest.onprogress=handleProgress;            httpRequest.open("GET", e.target.innerHTML+".html");            httpRequest.send();        }        function handleResponse(e){            displayEventDetails("readystate("+ httpRequest.readyState +")");            //處理響應            if(httpRequest.readyState==4 && httpRequest.status==200){                document.getElementById("target").innerHTML= httpRequest.responseText;            }        }        function handleError(e){displayEventDetails("error",e);}        function handleLoad(e){displayEventDetails("load",e);}        function handleLoadEnd(e){displayEventDetails("loadend",e);}        function handleLoadStart(e){displayEventDetails("loadstart",e);}        function handleProgress(e){displayEventDetails("progress",e);}        function clearEventDetails(){            document.getElementById("events").innerHTML="<tr><th>Event</th><th>lengthComputable</th><th>loaded</th><th>total</th></tr>"        }        function displayEventDetails(eventName,e){            if(e){                document.getElementById("events").innerHTML+="<tr><td>"+eventName+"</td><td>"+ e.lengthComputable+"</td><td>"+ e.loaded+"</td><td>"+ e.total+"</td></tr>";            }else{                document.getElementById("events").innerHTML+="<tr><td>"+eventName+"</td><td>NA</td><td>NA</td><td>NA</td></tr>";            }        }    </script></body></html>
Apples.html頁面:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Apples</title></head><body><p>    <img src="images/apple.png"/>    蘋果(Apple),是最常見的水果,[1] 蘋果樹屬於薔薇科,落葉喬木,葉橢圓形,有鋸齒。    其果實球形,味甜,口感爽脆,且富含豐富的營養,是世界四大水果之冠。蘋果通常為紅色,不過也有黃色和綠色。    蘋果是一種低熱量食物,每100克只產生60千卡熱量。蘋果中營養成份可溶性大,易被人體吸收,故有“活水”之稱,其有利於溶解硫元素,使皮膚潤滑柔嫩.</p></body></html>



著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

javascript之使用Ajax事件

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.