ma première alerte montre la liste des éléments mais la seconde ne l'est pas. Je n'ai jamais rien fait dans ajax/js avant donc je ne sais pas comment retourner mon tableau afin qu'il soit visible par d'autres fonctions.js comment rendre mon tableau visible par d'autres fonctions
var mycarousel_itemList = [];
$(document).ready(function() {
$.ajax({
type: "GET",
url: "xml/images.xml",
dataType: "xml",
success: function (xml) {
$(xml).find('image').each(function() {
var id = $(this).attr('id');
var url = $(this).find('url').text();
mycarousel_itemList.push('{url:"' + url + '",' + 'id:"' + id + '"}');
alert(mycarousel_itemList);
});
}
});
alert(mycarousel_itemList);
});
Voici comment mon xml ressemble
<images>
<image id="1">
<title>item</title>
<url>images/image.gif</url>
<desc>description of an item</desc>
</image>
<image id="2">
<title>anotheritem</title>
<url>images/images.gif</url>
<desc>description of an item</desc>
</image>
</images>
Où est votre deuxième alerte? Ou faites-vous simplement référence à la deuxième fois que la routine 'ajax.get' est exécutée? –
S'il vous plaît ne pas poster de mises à jour à votre question en tant que réponses (ci-dessous). Stack Overflow n'est pas un site formaté en forum. Vous devriez éditer votre question, en utilisant ce petit lien [edit] (http://stackoverflow.com/posts/4433404/edit). –
Voir [cette question] (http://stackoverflow.com/questions/562412/return-value-from-function-with-an-ajax-call) pour une explication du problème de base: ** le code s'exécute de manière asynchrone. ** Aussi, pourquoi avez-vous tagué votre question avec JSON lorsque vous utilisez XML? –