×
Vytvárame riešenia

Ako vytvoriť modul pre asynchrónne nahrávanie dát v Dojo

Autori projektu Dojo v rámci prípravy prechodu na verziu 2.0 postupne menia niektoré techniky práce s technológiou AJAX. Medzi novinky patrí aj nahrávanie dát prostredníctvom modulu dojo/request. Tento modul nepodporuje vlastnosť sync, a tak je nahrávanie možné len asynchrónnym spôsobom. Pre synchrónne nahrávanie je možné použiť modul dojo/request/xhr.
V tomto príspevku je predstavené vytvorenie základného modulu pre asynchrónne nahrávanie dát. Modul bude používať metódu POST a formát JSON. Čitateľ si následne môže uvedený modul upraviť tak, aby podporoval aj používateľom zadanú metódu a dátový formát.
Ako prvé vytvoríme súbor JSON s testovacími dátami. Súbor bude mať názov data.json.
Príklad: Obsah súboru data.json.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
[
{
"id": "1",
"name": "Martin",
"age": "40",
"occupation": "Programmer"
},
{
"id": "2",
"name": "Peter",
"age": "22",
"occupation": "Student"
},
{
"id": "3",
"name": "Matej",
"age": "33",
"occupation": "Director"
},
{
"id": "4",
"name": "Robert",
"age": "31",
"occupation": "Manager"
}
]
Teraz vytvoríme samotný modul. Nazveme ho load-json.js.
Príklad: Obsah súboru load-json.js.
1
2
3
4
5
6
7
8
define(["dojo/request"], function(req) {
return function(file) {
return req(file, {
method: "POST",
handleAs: "JSON"
});
}
});
Posledným krokom je vytvorenie hlavného programu, ktorý nahrá vytvorený modul a zobrazí nahraté údaje do konzoly.
Príklad: Hlavný program.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
require(["dojo/ready", "load-json"], function(ready, loadJson) {
ready(function() {
var jsonResult = loadJson("data.json");
jsonResult.then(success, failed);
function success(data) {
console.log(data);
}
function failed(err) {
console.error(err.message);
}
});
});
Ako vidieť, práca s modulom dojo/request nie je vôbec zložitá. Tí čo chcú ušetriť pár riadkov a sprehľadniť svoj kód si pre nahrávanie súborov vytvoria vlastný modul. Iný zase môžu nahrávanie umiestniť do "hlavného" programu. V rámci good practices sa odporúča vytváranie modulov, aby hlavný kód bol čo najkratší a najzrozumiteľnejší.

Záver

Pre pokračovanie programového kódu je určená funkcia success().


Dojo,AJAX,XHTML,dojo,good practices,programovanie,JavaScript,XHR,dojo/request
Žiadna časť tohto článku nesmie byť reprodukovaná bez uvedenia autora a URL na túto stránku.
Viac informácií nájdete v sekcii O projekte.

Komentáre

Článok neobsahuje zatiaľ žiadne komentáre.

Pridať komentár

Meno (povinné)
Web
Správa (povinné)
Odoslať
Od najnovších