2010-05-26 4 views
1

J'ai une application basée sur ExtJS. J'ai un objet composé sur le côté serveur, et j'ai une fenêtre ExtJS avec quelques onglets pour éditer différentes parties de cet objet. Par exemple:Comment générer un objet JSON côté client et l'envoyer au serveur?

I Have objet composé "Car"

public class Car 
{ 
    public string Name; 
    public string Color; 

    public List<Wheel> Wheels; 
    public List<Door> Doors; 
} 

Et sur ma fenêtre ExtJS j'ai onglets ("Informations générales", "Roues", "Portes") pour éditer les différentes parties de cet objet .

donc ce que je veux:

Quand je veux créer une nouvelle voiture que je veux générer la configuration JSON pour ma classe « Car » comme {Name:null; Color:null; Wheels:[]; Doors:[]} puis envoyé au client, remplissez-le sur le client (sans callbacks au serveur) et après que l'utilisateur ait fini de créer son objet Car (il a ajouté les roues, les portes, le nom et la couleur) et appuyez sur Enregistrer, je veux envoyer cet objet JSON rempli au serveur et l'enregistrer dans DB.

Est-ce possible?

Merci

+0

.NET ou Java, être spécifique? – Lloyd

+0

.NET, C# (et j'ai sous-question: comment organiser la liaison de données dans ExtJS?) – EugeneS

Répondre

2

Voici comment vous pouvez poster un objet JSON de JavaScript au serveur en utilisant ExtJS:

var obj = { 
    property1: "Value1", 
    property2: [], 
    property3: true 
}; 
Ext.Ajax.request({ 
    url: 'some.url', 
    method: "POST", 
    callback: function(options,success,xhr) { console.dir(arguments); }, 
    jsonData: Ext.encode(obj) 
}); 

Maintenant, comment gérer cette demande dépend de ce que vous utilisez sur le côté serveur, mais le tampon POST pour cette demande contiendrait exactement ceci: {"property1":"Value1","property2":[],"property3":true}

0

vous pouvez également utiliser Ext.Ajax.request avec params: {param: Ext.decode (yourParamObject)}

Questions connexes