Получив «parsererror» от jquery для запроса Ajax, я попытался изменить POST на GET, возвращая данные несколькими различными способами (создание классов и т. Д.), Но я не могу понять, в чем проблема.
Мой проект в MVC3, и я использую jQuery 1.5. У меня выпадающий список, и в случае события onchange я запускаю вызов, чтобы получить некоторые данные, основанные на том, что было выбрано.
Раскрывающийся список: (загружает «Представления» из списка в Viewbag, и запуск события работает нормально)
@{
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");
}
});
};
Приведенный выше код успешно вызывает метод MVC и возвращает:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Но jquery запускает событие ошибки для метода $ .ajax (), говоря "parsererror".