Je pose des données sur un contrôleur MVC et je tente de maintenir l'état aussi pour une concurrence optimiste. Je pose actuellement une demande JSON, mais je serais ouvert aux alternatives fonctionnelles?
Je pose déjà une collection Nom / Valeur avec la commande suivante: p>
$.ajax({ url: g_appPath + "/Rounding.aspx/Round/" + $("#OfferId").val(), type: 'POST', dataType: 'html', data: "RoundingData=" + $.toJSON(data) + "&StateData=" + $.toJSON(stateData), // --removed! contentType: 'application/json; charset=utf-8', beforeSend: doSubmitBeforeSend, complete: doSubmitComplete, success: doSubmitSuccess });
5 Réponses :
Autant que je sache, il n'existe aucun moyen de renvoyer deux objets JSON complètement différents qui ne sont pas des enfants d'un seul objet JSON parent et que JQuery décode pour vous à l'aide du Est-ce que cela répond à votre question? P> Ooops: strong>
Vous demandez de poster deux objets JSON distincts à votre contrôleur de JQuery ..., non? Mon mauvais ... Ouais, tu peux faire ça ... changez simplement cette ligne: p> à: p> Désolé pour le mélange. P> p> .ajax () code> méthode. Je suppose, je suppose, répondez avec deux objets JSON en tant que chaînes, puis utilisez une bibliothèque JSON externe pour évaluer les chaînes dans un objet JavaScript.
Si je vous comprends correctement, vous souhaitez parler fonctionnel, vous souhaitez envoyer
var data = {}; data[0] = data1; data[1] = data2;
Je pense que vous pouvez faire quelque chose comme ceci:
Vous pouvez le faire de manière simple dans ASP.NET, si vous voulez simplement envoyer plusieurs données à Webmethod
C'est une réponse après une période très longue, mais peut vous être utile pour toute référence future. P>
Je vous suggère de lire Cette réponse de Stackoverflow répond qui répond directement à votre problème. P>
Merci pour vos commentaires! J'apprécie vraiment l'effort que vous êtes entré pour m'aider à résoudre ce problème. L'un de mes objectifs était d'éviter d'avoir les données dans une matrice d'enveloppe, ce qui, à mon avis, est peut-être le seul cas, vous pouvez le faire avec un type de contenu d'application / JSON; Charset = UTF-8 '. J'ai élaboré une solution à ce que je posterai comme un addendum à ma question.
Just Fyi:
Données: "RoundingData =" + $ .Tojson (Data) + "& stitata =" + $ .Tojson (stitata) code> et
{RoundingData: $. Tojson (données), stitateata : $ .tojson (stitata) code> sont interprétés de la même manière par JQuery. En fait, votre chaîne de requête sera effectivement convertie à l'objet dans le grand schéma des choses pour le XHR actuel. En faisant un appel d'accès et ajoutant la chaîne de requête à l'URL actuelle, vous pouvez éviter ce problème, mais je ne vois pas pourquoi cela importerait (je suis sûr que vous avez une bonne raison). Et, évidemment, n'obtiendrez pas de manière sémantique HTTP de toute façon. / rant.