Je suis heureux sérialisation avec javascript objets en utilisant JSONTransmettre une chaîne JSON complexe à 1 paramètre webmethod dans C# - desearialize en objet (json.net)?
JSON.stringify
et envoi le long de mon webmethod « statique » en C#/asp.net et que enought arrive .. J'ai besoin le nombre correct de paramètres donc Si mon objet json a "startDate", "endDate", "reserve" alors ma méthode web a besoin de ces paramètres.
"Fondamentalement, avec mon objet de commande que j'ai, j'ai un certain nombre de paramètres sur cet objet, donc je devrais utiliser le même numéro sur la webmethod - c'est un peu brouillon ??" - Je vais vous expliquer
J'ai un objet "Order" assez complexe en javascript et je souhaite le sérialiser en utilisant stringify et l'envoyer à ma webmethod mais je ne veux pas spécifier tous les paramètres. ?
J'espérais quelque chose comme ça sur mon webmethod
public static bool MakeReservation(object order)
Puis dans mon webmethod je n'ai que 1 paramètre, mais je peux alors desearilize à un véritable objet C# en utilisant JSON.NET. Je l'ai essayé comme ceci envoyant le json à travers mais parce qu'il y a seulement 1 paramètre sur mon webmethod son échec.
En fait ce que je suis en train de dire si je que je veux continuer à utiliser mon webmethod mais je ne veux pas avoir à faire préciser 15 paramètres sur la webmethod
Je veux JSON - cordes pour arriver dans ma webmethod et puis je peux le décomposer sur le serveur.
Est-ce possible?
Voici comment j'envoie actuellement mon JSON au serveur (webmethod) en utilisant jquery
var jsonData = JSONNew.stringify(orderObject);
$.ajax({
type: "POST",
url: "MyService.aspx/DoReservation",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
success = true;
},
error: function(msg) {
success = false;
},
async: false
});
J'ai essayé ceci mais c'est comme si je juste JSON l'objet pas le STRING var jsonData1 = JSONNew.stringify (orderObject); var myString = jsonData1; var jsonData = JSONNew.stringify (myString); –
pourquoi changez-vous le contentType? Que se passe-t-il lorsque vous enlevez cela – redsquare
autant que je sache que vous en avez besoin dans .. le type de contenu ?? C'est ce que disent la plupart des tutoriels ... J'ai réussi à le faire ... mais je ne sais pas si c'est une bonne pratique ou ... fondamentalement je l'ai fait var jsonString = JSONNew.stringify (orderObject); var jsonObject = new Object(); jsonObject.jsonString = jsonString; var jsonData = JSONNew.stringify (jsonObject); Maintenant, je n'ai besoin que d'un paramètre sur la webmethod qui est une chaîne et la chaîne json y entre .. Je n'ai aucune idée si cela fonctionne encore .. mais au moins je rentre dans la webmethod avec jsonstring –