?
最近有時間看了一下最近鈔作比較厲害的AJAX,感覺確實有些好的地方,我認為主要在2個點上
1:XMLHTTP
2:?? DOM
3:JAVASCRIPT對dom的便利
只要熟悉這3個方面的東西ajax并不難掌握
至于ajax 的engine,并沒有去使用和熟悉,51期間可以好好利用這個時間熟悉一下,用在
www.sowq.com的開發上
一下程序從網站上抄來的
URL:http://lilac.greatweb.cn/zhangyuanyi/weblog/2005/11/ajax1-helloworld.html<HTML>
??????? <HEAD>
??????? <TITLE> AJAX指南(1) ---- Hello,world! </TITLE>
??????? </HEAD>
??????? <BODY onload="HelloWorld()">
??????? <DIV ID="ajax-sample">
??????? </DIV>
??????? </BODY>
??????? </HTML>function getHTTPObject()??????????
??????? {??????????????????????????????????
??????? ??????? var http;
??????? ??????? var browser = navigator.appName;
??????? ??????? if(browser == "Microsoft Internet Explorer")
??????? ??????? {
??????? ??????? ??????? //如果用戶使用IE,就返回XMLHTTP的ActiveX對象??????? ??????? ??????? http = new ActiveXObject("Microsoft.XMLHTTP");?
??????? ??????? }
??????? ??????? else
??????? ??????? {
??????? ??????? ??????? //否則返回一個XMLHttpRequest對象??????? ??????? ??????? http = new XMLHttpRequest();?
??????? ??????? }
??????? ??????? return http;
??????? }
? 得到HTTP請求對象之后,我們需要向服務段發送請求,假設服務端為hello.php,下面的代碼負責獲取服務端的響應:
??????? //獲取全局的HTTP請求對象
??????? var http = getHTTPObject();
??????? //處理請求狀態變化
??????? function getHello()????????
??????? {
??????? ??????? //4表示請求已完成
??????? ??????? if (http.readyState == 4)?
??????? ??????? {
??????? ??????? ??????? //獲取服務段的響應文本
??????? ??????? ??????? var helloStr = http.responseText;?
??????? ??????? ??????? //插入響應到ID為ajax-sample的DIV標簽內
??????? ??????? ??????? document.getElementById("ajax-sample").innerHTML = helloStr;
??????? ??????? }
??????? }
??????? function HelloWorld()
??????? {
??????? ??????? var url = "hello.php";
??????? ??????? //指定服務端的地址
??????? ??????? http.open("GET", url, true);?
??????? ??????? //請求狀態變化時的處理函數
??????? ??????? http.onreadystatechange = getHello;
??????? ??????? //發送請求
??????? ??????? http.send(null);????????????
??????? }
上面的這段程序就用到了xmlhttp,非常明了,不過可以考慮用http的state來做真正的進度條,解決一個假進度的問題,絕對是個不錯的主意
posted on 2006-04-13 08:44
小小程序程序員混口飯吃 閱讀(167)
評論(0) 編輯 收藏 所屬分類:
java