A
dojo/request több modulból áll, mindegyik lényege az aszinkron kérések kezelése. Az elképzelés az, hogy minden kérésnek van egy
provider-e. A különböző providerek hasonlóan működnek, és megegyezik a core API-juk, de további interfészekkel támogathatják az esetleges provider-specifikus működést. Az alábbi providerek elérhetőek:
- dojo/request/xhr: cross browser kompatibilis XmlHttpRequest, ez az alapértelmezett
- dojo/request/node: node.js számára biztosít aszinkron kéréseket (node.js esetén ez az alapértelmezett)
- dojo/request/iframe: iframe-eken keresztül oldja meg az aszinkronitást, hasznos lehet fájlok küldése esetén, illetve cross-domain szkriptek kezelésekor
- dojo/request/script: azt az esetet kezeli, ha a betöltendő tartalom egy <script> elem belsejében található
Ha a dojo/request-et require-öljük, az adott platformon alapértelmezett providerrel fog visszatérni.
Az aszinkron kérésre adott válaszokat ún. handler-ekkel tudjuk kezelni. Az alábbi handler-ek elérhetőek alapértelmezés szerint:
A dojo/request/handlers lehetőséget biztosít arra, hogy további handlereket definiáljunk.
Példa:
require(["dojo/request"], function(request) {
request("helloworld.txt").then(
function(text){
console.log("The file's contents is: " + text);
},
function(error){
console.log("An error occurred: " + error);
}
);
});