J'ai écrit le code suivant pour obtenir le résultat JSON du service Web.
function SaveUploadedDataInDB(fileName) {
$.ajax({
type: "POST",
url: "SaveData.asmx/SaveFileData",
data: "{'FileName':'" + fileName + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var result = jQuery.parseJSON(response.d);
//I would like to print KEY and VALUE here.. for example
console.log(key+ ':' + value)
//Addess : D-14 and so on..
}
});
}
Voici la réponse de webservice:
S'il vous plaît, aidez-moi à imprimer la clé et sa valeur
On dirait que vous récupérez un tableau. Si cela doit toujours se composer d'un seul élément, vous pouvez le faire (oui, c'est à peu près la même chose que la réponse de Tomalak):
$.each(result[0], function(key, value){
console.log(key, value);
});
Si vous avez plusieurs éléments et que vous souhaitez les parcourir tous, vous pouvez imbriquer $.each()
:
$.each(result, function(key, value){
$.each(value, function(key, value){
console.log(key, value);
});
});
$.each(result, function(key, value) {
console.log(key+ ':' + value);
});
Tout d'abord, je vois que vous utilisez un $.parseJSON()
explicite. Si c'est parce que vous sérialisez manuellement JSON sur le serveur, ne le faites pas. ASP.NET va automatiquement sérialiser la valeur de retour de votre méthode avec JSON et jQuery le désérialisera automatiquement pour vous aussi.
Pour parcourir le premier élément du tableau que vous avez là-bas, utilisez le code suivant:
var firstItem = response.d[0];
for(key in firstItem) {
console.log(key + ':' + firstItem[key]);
}
S'il y a plus d'un élément (c'est difficile à dire à partir de cette capture d'écran), vous pouvez alors passer en boucle sur response.d
puis utilisez ce code dans cette boucle externe.