Obtendo um "parsererror" do jquery para uma solicitação do Ajax, tentei alterar o POST para um GET, retornando os dados de algumas maneiras diferentes (criando classes, etc.), mas não consigo descobrir qual é o problema.
Meu projeto está no MVC3 e estou usando o jQuery 1.5. Tenho um menu suspenso e, no evento onchange, aciono uma chamada para obter alguns dados com base no que foi selecionado.
Dropdown: (carrega as "Views" da lista no Viewbag e disparar o evento funciona bem)
@{
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");
}
});
};
O código acima chama com sucesso o método MVC e retorna:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Mas o jquery dispara o evento de erro para o método $ .ajax () que diz "parsererror".