日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > jscript > 一周學會Mootools 1.4中文教程:(5)Ajax

一周學會Mootools 1.4中文教程:(5)Ajax

來源:程序員人生   發布時間:2013-12-16 05:05:43 閱讀次數:2815次
ajax在我們前臺的開發中是非常重要的,所以我們單獨拿出一節課來講述,首先我們看一下mootools的ajax構成

語法:
var myRequest=new Request([參數]);

參數:
url - (string:默認是null) 要請求的URL.
data - (string:默認是空) 默認要請求或發送的數據.
link - (string:默認是'ignore') 可為'ignore','cancel','chain'.
'ignore' - 當請求正在執行之中時,新的請求將被忽略
'cancel' - 當請求正在執行之中時,將立即取消當前執行中的請求,開始執行新的請求
'chain' - 當請求正在執行之中時,將會把新的請求鏈接在當前請求之后,依次執行所有請求
method - (string:默認是'post') HTTP請求類型,可為'post' 或 'get'.
emulation - (boolean:默認是true) 仿真,通常不用理會
async - (boolean:默認是true) 異步,如果設為false,那么在請求數據的時候將會同步凍結瀏覽器請求,通常不用理會.
timeout - (integer:默認是0) 超時時間
headers - (object) 設置content-type頭.
urlEncoded - (boolean:默認是true) url編碼,如果設為true,則content-type頭將被設為www-form-urlencoded+encoding
encoding - (string:默認是'utf-8') 數據的編碼.
noCache - (boolean;默認是false) 如果設為true,則不緩存
isSuccess - (function) 請求結束之后的事件.
evalScripts - (boolean:默認是false) 如果設為true,結果內的script會被執行
evalResponse - (boolean:默認是false) 如果設為true,請求內容將會被執行.
user - (string:默認是null) 如果設置了此項,那么請求的時候將會嘗試認證.
password - (string:默認是null) 和user搭配使用,設置此項的時候要填寫密碼而不是星號

上邊已經列出了所有的ajax參數,那么mootools為我們提供了哪些事件呢?我們來看一下:

onRequest
當請求被發送的時候觸發.

onLoadstart
當請求已載入的時候觸發,在其他所有進程之前.

onProgress
當請求正在建立上傳或下載的進程時觸發.

onComplete
當請求結束時觸發.

onCancel
當請求被取消時觸發.

onSuccess
當請求成功完成后觸發.

onFailure
當請求失敗時觸發.

onException
當設置一個請求頭失敗時觸發.

onTimeout
當超出了options.timeout所設置的毫秒數,卻沒有發生狀態值的改變時觸發.

我們再來看一下他還有哪些額外的方法:

setHeader
添加或修改一個請求的頭信息. 并不會重寫options.
示例:
var myRequest=new Request({url:'getData.php',method:'get',headers:{'X-Request':'JSON'}});
myRequest.setHeader('Last-Modified','Sat,1 Jan 2005 05:00:00 GMT');

getHeader
返回響應頭,如果沒有發現則為null.
示例:
var myRequest=new Request({url:'getData.php',method:'get',onSuccess:function(responseText,responseXML){
alert(this.getHeader('Date'));//顯示服務的數據 (如,'Thu,26 Feb 2009 20:26:06 GMT')
}});

send
打開請求鏈接并發送在options里預設的數據
示例:
var myRequest=new Request({
url:'http://localhost/some_url'
}).send('save=username&name=John');

cancel
取消當前正運行的請求.
示例:
var myRequest=new Request({url:'mypage.html',method:'get'}).send('some=data');
myRequest.cancel();

isRunning
如果當前請求正在運行則返回true
示例:
var myRequest=new Request({url:'mypage.html',method:'get'}).send('some=data');
if(myRequest.isRunning()) //It runs!

上面說了那么多還沒進入正題,連個完整的例子都沒出來,Mootools的ajax夠強大,我喜歡,嘿嘿,好了我們馬上進入正題給大家展示一個完整的ajax請求的例子:

var myRequest=new Request({//建立Request對象
url:'image.php',//要請求的地址
onProgress:function(event,xhr){//建立進度顯示在控制臺內
var loaded=event.loaded,total=event.total;
console.log(parseInt(loaded / total * 100,10));
}
}).send();//用他的send方法發送

//再來一個例子
var myElement=$('myElement');//選節點
var myRequest=new Request({//建立Request對象
url:'getMyText.php',//要請求的地址
method:'get',//get請求

     onTimeout:function(){//超時
myElement.set('text','超時了');
},
     onFailure:function(){//請求失敗
myElement.set('text','請求失敗了');
},
onProgress:function(event,xhr){//建立進度顯示在控制臺內
var loaded=event.loaded,total=event.total;
console.log(parseInt(loaded / total * 100,10));
},
onRequest:function(){//當請求被發送時設置內容
myElement.set('text','loading...');
},
onSuccess:function(responseText){//結束后重設內容
myElement.set('text',responseText);
},
onFailure:function(){//失敗時提示
myElement.set('text','Sorry,your request failed:(');
}
});

//$('myLink')點擊時,觸發ajax的send方法
$('myLink').addEvent('click',function(event){
event.stop();//終止掉$('myLink')的默認事件(假如是<a ..>防止超鏈接跑到別的頁面上)
myRequest.send('userid='+this.get('data-userid'));
});

看完了上邊這個完整的示例之后有沒有感覺Mootools的ajax很彪悍?還是你覺得他太復雜,沒關系我再來個簡潔型的,不管你有什么癖好都讓你滿意.

var myHTMLRequest=new Request.HTML().get('myPage.html');
var myHTMLRequest=new Request.HTML({url:'myPage.html'}).post('user_id=25&save=true');

<div id="content">Loading content...</div>
$('content').load('page_1.html');

//從這個網址載入"load/?user_id=25".
var myHTMLRequest=new Request.HTML({url:'load/'}).get({'user_id':25});

Data from Element via POST:
<form action="save/" method="post" id="user-form">
<p>
Search:<input type="text" name="search" />
Search in description:<input type="checkbox" name="search_description" value="yes" />
<input type="submit" />
</p>
</form>

//這里是一個submit事件
var myHTMLRequest=new Request.HTML({url:'save/'}).post($('user-form'));

好了,這一課講完了,有問題就進群(16648471)討論吧,注意:加群的時候要說明你從哪個網站來到.

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 中文字幕国产一区 | 亚洲经典在线观看 | 91麻豆蜜桃一区二区三区 | 久久精品国产综合 | 日韩在线视频播放 | 九九九精品视频 | 成人在线黄色电影 | 自拍视频在线 | 在线观看视频91 | 美女视频黄的 | 成人综合久久 | 国产精品久久久久7777婷婷 | 99国产在线播放 | 国产精品一区二区三区四区五区 | 国产中文一区二区三区 | 91精品国产91久久综合桃花 | 精品一区二区三区免费毛片爱 | 一区二区视频在线观看 | 日本理伦片午夜理伦片 | 久久综合热 | 精品综合久久久久久99粉芽 | 日本精品视频一区二区三区四区 | 久久一| 99视频在线| 黄色p网站| 中文字幕在线播放第一页 | 97中文字幕第十五页 | 麻豆精品国产传媒mv男同 | 美女视频一区二区三区 | 中文字幕91av | 久久久久国产精品免费免费搜索 | 国产高清无密码一区二区三区 | 久久国产成人 | 精品久久久久久久 | 日韩一区二区三区高清 | 99精品视频在线免费观看 | 手机看片日韩 | 国产成人久久 | 国产精品色综合一区二区三区 | 国产一区二区视频在线播放 | 免费一级片 |