J'ai obtenu un "parsererror" de jquery pour une requête Ajax, j'ai essayé de changer le POST en GET, renvoyant les données de différentes manières (création de classes, etc.) mais je n'arrive pas à comprendre quel est le problème.
Mon projet est dans MVC3 et j'utilise jQuery 1.5 J'ai une liste déroulante et sur l'événement onchange, je déclenche un appel pour obtenir des données en fonction de ce qui a été sélectionné.
Liste déroulante: (cela charge les "Vues" de la liste dans le Viewbag et déclencher l'événement fonctionne très bien)
@{
var viewHtmls = new Dictionary<string, object>();
viewHtmls.Add("data-bind", "value: ViewID");
viewHtmls.Add("onchange", "javascript:PageModel.LoadViewContentNames()");
}
@Html.DropDownList("view", (List<SelectListItem>)ViewBag.Views, viewHtmls)
Javascript:
this.LoadViewContentNames = function () {
$.ajax({
url: '/Admin/Ajax/GetViewContentNames',
type: 'POST',
dataType: 'json',
data: { viewID: $("#view").val() },
success: function (data) {
alert(data);
},
error: function (data) {
debugger;
alert("Error");
}
});
};
Le code ci-dessus appelle avec succès la méthode MVC et retourne:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Mais jquery déclenche l'événement d'erreur pour la méthode $ .ajax () en disant "parsererror".