I. Démarche▲
- Définissez l'URL de la manière suivante : /echo/json/.
- Si vous faites une action de lecture (par exemple Model.load), vous devez positionner proxy.actionMethods.read à la valeur POST.
- Ajoutez "json" en tant que paramètre extraParam et passez-lui la chaîne json que vous désirez récupérer.
- Vous pouvez également ajouter un délai (delay) en tant que paramètre extraParam.
II. Simuler une requête AJAX▲
Voici une petite fonction pour vous aider à simuler une requête AJAX :
function sim
(
proxy,
data,
delay){
if(
typeof data !==
'string'
){
data =
Ext.
JSON.encode
(
data);
}
proxy.
url =
'/echo/json/'
;
proxy.
actionMethods.
read =
"POST"
;
proxy.
extraParams.
json =
data;
proxy.
extraParams.
delay=
typeof delay ==
'undefined'
?
0
:
delay;
}
//usage:
sim
(
MyModel.
proxy,
{
name
:
"neil"
},
2
);
MyModel.load
(
1
,
{
callback
:
function(
record,
operation){
console.log
(
record.get
(
'name'
);
) }
}
);
III. Exemple▲
Voici un exemple : http://jsfiddle.net/el_chief/9ksWE/Exemple JsFiddle
/*
C'est une fonction qui simule une requête AJAX dans JsFiddle.
Elle est compatible avec la version Sencha Touch 2.01.
*/
function sim
(
proxy,
data,
delay) {
if (
typeof data !==
'string'
) {
data =
Ext.
JSON.encode
(
data);
}
proxy.setUrl
(
'/echo/json/'
);
proxy.setExtraParams
({
json
:
data,
delay
:
typeof delay ===
'undefined'
?
0
:
delay
}
);
proxy.setActionMethods
({
read
:
'POST'
}
);
}
IV. Remerciements▲
Cet article a été publié avec l'aimable autorisation de Neil McGuigan. L'article original peut être lu sur le blog ExtJS TutorialsExtJS Tutorials : How to simulate AJAX requests in JSFiddleHow to simulate AJAX requests in JSFiddle.
Je remercie également ClaudeLELOUP pour sa relecture attentive.