J'ai une boucle qui génère une chaîne avec Je les vois tous générés : p> mais comment puis-je créer une nouvelle variable Pour clarifier davantage ce que j'essaie d'atteindre est quelque chose comme: p> console.log (singletring); code> p> allstrings code> qui concaténera toutes ces chaînes? La boucle fait partie d'une réponse AJAX en boucle via des nœuds XML pour récupérer les données de ces variables. Je suppose que j'ai besoin de les faire faire partie d'un tableau, puis de les rejoindre ensemble pour une grande chaîne? P> $j.ajax({
type: "GET",
url: "test.xml",
dataType: "xml",
success: function parseXml(data)
{
$j('.loader').fadeOut();
itemQueue = $j(data).find("ITEM").map( function ()
{
return {
date: $j("LAST_SCAN" , this).text(),
type : $j("PRODUCT_TYPE", this).text(),
cat : $j("CLASS_NAME", this).text(),
};
}).get();
getNextItem();
}
});
function getNextItem()
{
var item = itemQueue[0];
var singleString = item.date+ "," + item.type + "," + item.cat + "\n";
console.log( singleString );
$j.ajax({
url: s7query,
dataType: 'jsonp'
});
}
function s7jsonResponse(response)
{
var item = itemQueue.shift();
if (itemQueue.length)
{
getNextItem();
}
// run other processes when finished with checks
if (!itemQueue.length)
{
// alert ("ALL DONE");
}
}
3 Réponses :
Vous pouvez utiliser Exemple: p> array.join code> Pour convertir un tableau en une chaîne. var arr = ['a1', 'b1', 'c1'];
console.log(arr.join(',')); // 'a1,b1,c1'
J'ai mis à jour ma question, peut-être que c'était déroutant. Ce n'est pas ce que j'essaie d'atteindre. J'ai un seul nom de variable qui sera remplacé pour chaque boucle. Je voulais attraper toutes ces chaînes, puis les combiner tous en un.
@ZAC: Utilisez l'opérateur + = code>? Allstrings + = SingleString; code>
Merci, je cherchais une autre solution mais tout en cherchant au hasard, j'ai eu cette réponse.
Vous pouvez vous débarrasser si cette boucle et utilisez:
allStrings.concat(string1, string2, ..., stringX)
On dirait que vous faites des XHR séparés pour des nœuds XML indépendants, auquel cas vous voudrez peut-être reconsidérer votre approche. Si possible, je voudrais itération sur les nœuds XML dans leur intégralité et rassembleriez toutes les données requises nécessaires. Ensuite, vous pouvez faire un seul XHR (couper sur les connexions http, qui est bon!) Et obtenir une seule réponse pouvant contenir l'intégralité de la réponse (I.e. Allstrings). Il devrait être plus facile sur votre serveur et faire une différence notable sur le côté du client dans toutes les situations. P>
Oui tu as raison. Je devais le faire comme ça comme ça.