2010-02-08 5 views
2

J'utilise l'interface ICallBack et du côté client i besoin d'envoyer un objet à la méthode du serveurobjets Javascript personnalisés passage à la méthode côté serveur

Mon objet est un objet personnalisé javascript Exemple

var person=new Object(); 
person.Name='Francis'; 
person.ID='007'; 

Comment puis-je transmettre ceci et le décoder correctement dans le même format sans utiliser de champs cachés?

Merci Francis P.

Répondre

2

Vous aurez besoin de sérialisation comme une chaîne. Puisque les objets sont simples et n'ont aucune méthode, vous pouvez utiliser une fonction JSON stringify. Comme pour le transmettre au serveur, si vous ne voulez pas utiliser un champ caché, vous pouvez utiliser un champ visible, ou contourner complètement un formulaire et envoyer votre requête en l'insérant dans la chaîne de requête ou en utilisant XMLHttpRequest.

1

Quel est exactement le problème avec l'utilisation de champs cachés?

Je l'aurais sérialisé dans une chaîne JSON, assigné cette chaîne au champ de formulaire caché, et qui peut être passé au serveur sur un poste où il peut être désérialisé sur le serveur.

La fonction stringify dans la bibliothèque JSON au http://www.json.org/js.html est probablement le plus approprié pour y parvenir. En ce qui concerne la désérialisation sur le serveur, cela dépend de la langue de votre serveur. Pouvez-vous nous donner une indication à ce sujet?

+0

Salut James, Merci pour la réponse. Côté serveur, j'utilise C# – Francis

+0

Dans ce cas, vous pouvez vous pencher sur l'utilisation de la classe JavaScriptSerializer. –

Questions connexes