一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

用Dojo實現Ajax請求:XHR、跨域、及其他

  在任何瀏覽器上方便地實現Ajax請求是每一個Ajax框架的初衷。Dojo在這方面無疑提供了非常豐富的支持。除了XMLHttpRequest之外,動態script、iframe、RPC也應有盡有,并且接口統一,使用方便,大多數情況下都只需要一句話就能達到目的,從而免除重復造輪子的麻煩。而且,Dojo一貫追求的概念完整性也在這里有所體現,換句話說,在使用Dojo的Ajax工具的過程中不會感到任何的不自然,相反更容易有觸類旁通的感覺,因為API的模式是統一的,而且這里涉及到的某些概念(如Deferred對象)也貫穿在整個Dojo之中。

  Dojo的XHR函數

  Dojo的XMLHttpRequest函數就叫dojo.xhr,除了把自己取名美元符號之外,這好像是最直接的辦法了。它定義在Dojo基本庫里,所以不需要額外的require就能使用。它可以實現任何同域內的http請求。不過更常用的是dojo.xhrGet和dojo.xhrPost,它們只不過是對dojo.xhr函數的簡單封裝;當然根據REST風格,還有dojo.xhrPut和dojo.xhrDelete。

  這些函數的參數都很統一。除了dojo.xhr的第一個參數是http方法名之外,所有的dojo.xhr*系列函數都接受同一種散列式的參數,其中包含請求的細節,例如url、是否同步、要傳給服務器的內容(可以是普通對象、表單、或者純文本)、超時設定、返回結果的類型(非常豐富且可擴展)、以及請求成功和失敗時的回調。所有dojo.xhr*函數(實際上是所有IO函數)返回值也都一樣,都是一個Deferred對象,顧名思義,它能讓一些事情延遲發生,從而讓API用起來更靈活。

  下面的兩個例子可能會帶來一點直觀感受:

dojo.xhrGet({
url:
"something.html",
load: function(response, ioArgs){
//用response干一些事
console.log("xhr get success:", response)
return response //必須返回response
},
error: function(response, ioArgs){
console.log(
"xhr get failed:", response)
return response //必須返回response
}
})
//Deferred對象允許用同步調用的寫法寫異步調用
var deferredResult = dojo.xhrPost({
url:
"something.html",
form: formNode,
//Dojo會自動將form轉成object
timeout: 3000, //Dojo會保證超時設定的有效性
handleAs: "json" //得到的response將被認為是JSON,并自動轉為object
})
//當響應結果可用時再調用回調函數
deferredResult.then(function(response){
console.log(
"xhr get success:", response)
return response //必須返回response
})

NET技術用Dojo實現Ajax請求:XHR、跨域、及其他,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 成人三级视频 | 黄在线看 | 秋霞影音先锋一区二区 | 色视频在线观看在线播放 | 污免费观看 | 综合在线视频精品专区 | 四虎网站入口 | 国产亚洲精品中文带字幕21页 | 2021国产精品一区二区在线 | 国产精品合集一区二区三区 | 亚洲精品美女久久久aaa | 国产福利视精品永久免费 | 香港aa三级久久三级 | 免费黄色欧美 | 男人扒开女人腿使劲桶动态图 | 一级毛片免费不卡 | 视频一区视频二区在线观看 | 免费精品美女久久久久久久久久 | 亚洲综合网站 | 婷婷在线免费观看 | 亚洲综合色区图片区 | 国产成人啪精品视频免费网站软件 | 国产成人永久免费视 | 91视频成人 | 大杳蕉伊人狼人久久一本线 | 在线日本妇人成熟免费观看 | 九九大香尹人视频免费 | 免费特黄视频 | 亚洲视频在线观看一区 | 中文字幕三级 | 久久99精品久久久久久青青91 | 亚洲精品美女久久久久 | 青草五月天 | 国产九九在线观看播放 | 综合激情网五月 | 色免费观看 | 国产一区视频在线免费观看 | 欧美成人tv| 国外免费精品视频在线观看 | 91玖玖| 婷婷色在线播放 |