Bonjour,
je travaille actuellement sur une application mobile, sur laquelle j'affiche des news récupérées par un webservice. Le tout tourne dans une jsp.
le mécanisme est :
- Je récupère un premier flux qui me retourne quasiment toutes mes infos, je les stocke dans un objet
- Je fait une requête AJAX pour récupérer une autre info, que je rajoute dans mon objet
- Je stocke cet objet dans le LocalStorage.
Et je le fait sur 15 news dans un foreach.
Le problème c'est que tout cela ne marche pas.
J'ai essayé de récupérer l'info de l'AJAX dans une variable globale, et l'ajouter à mon objet, mais cette variable est vide au sorti de la requete AJAX.
j'ai essayé de tout faire dans ma requete AJAX, mais j'ai l'impression que cela vide mon LocalStorage à chaque sortie.
Voilà mon code (basé sur la 2e solution) :
J'ai essayé de créer une méthode afin de passer ma variable en paramètre mais ça ne passe pas non plus. Pourtant, quand j'alert mon response, il est bien rempli. Et les autres variables ne posent aucun problème, c'est vraiment le response.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
27
28
29
30
31
32
33
34
35
36
37
38 <script type="text/javascript"> function storeMyObject(maReponse) { var monInfo = new Object(); monInfo.id = "${resumeInfo.id}"; monInfo.description = maReponse; monInfo.titre = "${resumeInfo.titre}"; monInfo.resume = "${resumeInfo.resume}"; monInfo.image = "${resumeInfo.urlImage}"; localStorage.setItem("${resumeInfo.id}", JSON.stringify(monInfo)); } var monId = "${resumeInfo.id}"; new Ajax.Request('laUneActuDetailOffline.do?idInfo='+monId, { method:'get', onSuccess: function(transport){ var response = transport.responseText; storeMyObject(response); }, onFailure: function(){ // gestion du failure } }); </script>
Si vous avez une idée, elle serait la bienvenue
Merci
Partager