Ho ricevuto un "parsererror" da jquery per una richiesta Ajax, ho provato a cambiare il POST in un GET, restituendo i dati in diversi modi (creazione di classi, ecc.) Ma non riesco a capire quale sia il problema.
Il mio progetto è in MVC3 e sto usando jQuery 1.5 Ho un menu a discesa e sull'evento onchange spengo una chiamata per ottenere alcuni dati in base a ciò che è stato selezionato.
Elenco a discesa: (carica le "Viste" dall'elenco nel Viewbag e l'attivazione dell'evento funziona correttamente)
@{
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");
}
});
};
Il codice precedente chiama correttamente il metodo MVC e restituisce:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Ma jquery genera l'evento di errore per il metodo $ .ajax () che dice "parsererror".