chaucy
2016-05-26 09:45:14
慕課網(wǎng)里面有專門的視頻講解嗎?求推薦。求高手給一個(gè)完整可運(yùn)行例子,謝謝了!!!
1 回答
已采納

竹馬君
TA貢獻(xiàn)64條經(jīng)驗(yàn) 獲得超115個(gè)贊
在AJAX客戶端如何做到的異步呢?實(shí)際上就是JavaScript的回調(diào)函數(shù)起的作用
提供一個(gè)回調(diào)JavaScript函數(shù),一旦服務(wù)器響應(yīng)可用,該函數(shù)就被執(zhí)行
業(yè)務(wù)函數(shù):
[javascript]
function?castVote(rank)?{?? ??var?url?=?"/ajax-demo/static-article-ranking.html";?? ??var?callback?=?processAjaxResponse;?? ??executeXhr(callback,?url);?? }
需要異步通訊的函數(shù):
function?executeXhr(callback,?url)?{?? ??//?branch?for?native?XMLHttpRequest?object?? ??if?(window.XMLHttpRequest)?{?? ????req?=?new?XMLHttpRequest();?? ????req.onreadystatechange?=?callback;?? ????req.open("GET",?url,?true);?? ????req.send()(null);?? ??}?//?branch?for?IE/Windows?ActiveX?version?? ??else?if?(window.ActiveXObject)?{?? ????req?=?new?ActiveXObject("Microsoft.XMLHTTP");?? ????if?(req)?{?? ??????req.onreadystatechange?=?callback;?? ??????req.open("GET",?url,?true);?? ??????req.send()();?? ????}?? ??}?? }
req.onreadystatechange = callback
req.open("GET", url, true)
第一行定義了JavaScript回調(diào)函數(shù),一旦響應(yīng)就緒它就自動(dòng)執(zhí)行,而req.open()方法中所指定的“true”標(biāo)志說明想要異步執(zhí)行該請(qǐng)求。
一旦服務(wù)器處理完XmlHttpRequest并返回給瀏覽器,使用req.onreadystatechange指派所設(shè)置的回調(diào)方法將被自動(dòng)調(diào)用。
添加回答
舉報(bào)
0/150
提交
取消