AJAX publier des données a la valeur null dans le contrôleur mvc
J'essaie d'envoyer un objet JSON vers le serveur. C'est mon appel AJAX:
$.ajax({
url: '/Home/NewService',
async: false,
type: "POST",
data: JSON.stringify(props),
error: function (jqXHR, textStatus, errorThrown) {
console.log("FAIL: " + errorThrown);
},
success: function (data, textStatus, jqXHR) {
console.log("SUCCES");
}
});
L'évaluation de JSON.stringify(props)
dans le navigateur du débogueur est
"[{"name":"firstName","value":"firstValue"}]"
C'est la méthode dans le contrôleur, qui est appelé:
[HttpPost]
public void NewService(dynamic json)
{
Response.Write(json);
}
Le problème que j'ai, c'est que toujours la json
variable à partir de ci-dessus est un objet vide.
Le success
fonction est appelée, mais quand je debug le json
var est affiché comme vide.
S'il vous plaît dites-moi ce que je fais de mal.
Merci.
OriginalL'auteur Florin Pilca | 2014-01-04
Vous devez vous connecter pour publier un commentaire.
Je ne pense pas que vous pouvez lier à une dynamique de type de la façon dont vous essayez de. Vous pouvez essayer de créer une classe que les cartes de vos données, quelque chose comme:
Maintenant dans votre action:
Et dans votre js comme l'Olaf Dietsche dit, vous avez besoin de spécifier votre
contentType
:OriginalL'auteur Dimitar Dimitrov
Selon
jQuery.ajax()
, le type de contenu par défaut est estapplication/x-www-form-urlencoded
. Si vous souhaitez envoyer les données en JSON, vous devez modifier cette option pourOriginalL'auteur Olaf Dietsche