Je cherche à créer un tableau JSON de positions de souris et à les transmettre à un contrôleur. Pour une raison que j'ignore, mon json revient du contrôleur comme non défini, est-ce que quelqu'un peut repérer mon problème?Impossible de recevoir les données JSON vers le contrôleur .NET MVC
// Attempt at declaring a JSON object
var personResults = { "answers": [] };
// Onclick I fire in values from mouse event
personResults.answers[count] = { "xpos": mouseX, "ypos": mouseY };
// AJAX Call
$.ajax({
url: "Save",
type: "POST",
contentType: "application/json; charset=utf-8",
data: JSON.stringify(personResults),
success: function (data) { alert(data.toSource()); },
error: function (req, status, error) {
alert("error! " + status + error + req);
}
});
Je reçois alors le jsontext de mon contrôleur .NET MVC:
public JsonResult Save(string personResults)
{
return Json(personResults);
}
Comme vous pouvez le voir la réponse à l'AJAX devrait être la même chose que je JSON envoyé - mais je Je reçois des valeurs indéfinies du serveur même si mon json semble construire Ok et je l'ai testé - c'est valide.
Si je définis Enregistrer pour recevoir de type "chaîne" je reçois cette alerte "(new String (" "))"; Si je mets l'action de sauvegarde pour recevoir de type « JsonResult » Je reçois cette alerte:
({ContentEncoding:null, ContentType:null, Data:null, JsonRequestBehavior:1})
Suis-je manque quelque chose tout à fait évident? Je veux juste vérifier que mon json est envoyé avec succès au contrôleur afin que je puisse le manipuler plus tard!
est ici le format de mon JSON:
{"answers":[
{"xpos":293,"ypos":415},{"xpos":293,"ypos":415},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},
{"xpos":293,"ypos":416},{"xpos":293,"ypos":416},{"xpos":293,"ypos":416}
]}
Merci!
Merci pour votre réponse approfondie c'est plus que je n'aurais pu espérer! J'essayais essentiellement de voir si mon Json était valide car j'ai besoin de le mapper à une base de données comme vous l'avez montré ci-dessus. Alors maintenant, je désérialise la chaîne à un objet de classe et la boucle à travers cet objet pour effectuer des opérations sur les valeurs! acclamations =] – Sykth
Merci à toutes les réponses et votre temps a été apprécié! – Sykth
@Sykth: Bienvenue! – Oleg