Nhận được một "trình phân tích cú pháp" từ jquery cho một yêu cầu Ajax, tôi đã thử thay đổi POST thành GET, trả lại dữ liệu theo một số cách khác nhau (tạo các lớp, v.v.) nhưng dường như tôi không thể hiểu được vấn đề là gì.
Dự án của tôi là trong MVC3 và tôi đang sử dụng jQuery 1.5 Tôi có Dropdown và trong sự kiện onchange, tôi thực hiện cuộc gọi để nhận một số dữ liệu dựa trên những gì đã được chọn.
Thả xuống: (điều này tải "Lượt xem" từ danh sách trong Viewbag và kích hoạt sự kiện hoạt động tốt)
@{
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ạn mã trên gọi thành công phương thức MVC và trả về:
[{"ViewContentID":1,"Name":"TopContent","Note":"Content on the top"},
{"ViewContentID":2,"Name":"BottomContent","Note":"Content on the bottom"}]
Nhưng jquery kích hoạt sự kiện lỗi cho phương thức $ .ajax () có nội dung "trình phân tích cú pháp".