Получив «parsererror» от jquery для Ajax-запроса, я попытался изменить POST на GET, возвращая данные несколькими различными способами (создание классов и т. Д.), Но я не могу понять, чтопроблема в том.
Мой проект в MVC3, и я использую jQuery 1.5. У меня выпадающий список, и при событии onchange я запускаю вызов, чтобы получить некоторые данные на основе того, что было выбрано.
Dropdown: (это загружает «Views» из списка в 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".