
<input type="button" value="Retourner une structure du serveur" onclick="javascript: appelRetournerUneStructure();" />
La fonction appelée fait de sa part un appel AJAX vers notre service web en lui passant deux paramètres comme suit :
function appelRetournerUneStructure() {
var dateDAppel = new Date();
compteurDAppel++;
ApplicationWebAjax.ServiceWebAjax.RetournerUneStructure(dateDAppel, compteurDAppel, RetournerUneStructure_SucceededCallback, FailedCallback);
}
Côté serveur, notre service va construire une structure d’objets pour la faire retourner comme valeur de retour de sa fonction « RetournerUneStucture » au client :
[WebMethod]
public MonEspace.MonObjet RetournerUneStructure(DateTime dateDAppel, int compteurDAppel)
{
MonEspace.MonObjet monObjet = new MonEspace.MonObjet();
monObjet.MonParamString = "Date d'appel : " + dateDAppel.ToString() + " - Compteur d'appel : " + compteurDAppel.ToString();
monObjet.MonParamInt = compteurDAppel;
monObjet.MonParamDecimal = compteurDAppel / 2;
monObjet.MonParamDateTime = dateDAppel;
monObjet.MesSousObjets.Add(new MonEspace.MonSousObjet("Param 1"));
monObjet.MesSousObjets.Add(new MonEspace.MonSousObjet("Param 2"));
return monObjet;
}
function RetournerUneStructure_SucceededCallback(resultat) {
document.getElementById('testDiv').innerHTML +=
'<b>Objet reçu du serveur :</b><br />' +
'<b> MonParamString = ' + resultat.MonParamString + '</b><br />' +
'<b> MonParamInt = ' + resultat.MonParamInt + '</b><br />' +
'<b> MonParamDecimal = ' + resultat.MonParamDecimal + '</b><br />' +
'<b> MonParamDateTime = ' + resultat.MonParamDateTime + '</b><br />' +
'<b> MesSousObjets[0].MonParamString = ' + resultat.MesSousObjets[0].MonParamString + '</b><br />' +
'<b> MesSousObjets[1].MonParamString = ' + resultat.MesSousObjets[1].MonParamString + '</b><br />';
}

<input type="button" value="Recevoir une structure au serveur" onclick="javascript: appelRecevoirUneStructure();" />
function appelRecevoirUneStructure() {
var monObjet = {
"MonParamString": "A traiter dans le serveur",
"MonParamInt": 3,
"MonParamDecimal": 1,
"MonParamDateTime": new Date(2008, 10, 10, 10, 30, 59, 88),
"MesSousObjets": [{ "MonParamString": "Param 1" }, { "MonParamString": "Param 2"}]
};
ApplicationWebAjax.ServiceWebAjax.RecevoirUneStructure(monObjet, RecevoirUneStructure_SucceededCallback, FailedCallback);
}
[WebMethod]
public string RecevoirUneStructure(MonEspace.MonObjet monObjet)
{
monObjet.MonParamString = "Date d'appel : " + DateTime.Now.ToString();
return "<b> MonParamString = " + monObjet.MonParamString + "</b><br />" +
"<b> MonParamInt = " + monObjet.MonParamInt + "</b><br />" +
"<b> MonParamDecimal = " + monObjet.MonParamDecimal + "</b><br />" +
"<b> MonParamDateTime = " + monObjet.MonParamDateTime + "</b><br />" +
"<b> MesSousObjets[0].MonParamString = " + monObjet.MesSousObjets[0].MonParamString + "</b><br />" +
"<b> MesSousObjets[1].MonParamString = " + monObjet.MesSousObjets[1].MonParamString + "</b><br />";
}

Combien cela coûte-t-il au total ? Quelles aides apportent l'état et les acteurs du marché pour alléger cette charge non choisie ? Tous les détails sur Commentçamarche.net.