Dostaję „parsererror” z jquery dla żądania Ajax, próbowałem zmienić POST na GET, zwracając dane na kilka różnych sposobów (tworzenie klas itp.), Ale wydaje mi się, że nie wiem, na czym polega problem.
Mój projekt jest w MVC3 i używam jQuery 1.5 Mam listę rozwijaną i przy zdarzeniu onchange odpalam połączenie, aby uzyskać dane na podstawie tego, co zostało wybrane.
Lista rozwijana: (ładuje to „Widoki” z listy w Viewbag i odpalenie wydarzenia działa dobrze)
@{
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");
}
});
};
Powyższy kod z powodzeniem wywołuje metodę MVC i zwraca:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Ale jquery odpala zdarzenie błędu dla metody $ .ajax () mówiąc „parsererror”.