Web API: Lỗi khi lấy dữ liệu bằng Ajax để đưa lên view

asp.net-mvc

(Đạt Min) #1

Chào mấy anh/chị,
Em mới học web api và em gặp lỗi này khi lấy dữ liệu bằng ajax để đưa lên view. Anh/chị có thể chỉ em với được không ạ. Em cảm ơn nhiều ạ.

[Route("api/FileAPI/GetSubject")]
[HttpGet]
public IEnumerable<Subject> Get()
{
    using (LibraryEntities db = new LibraryEntities())
    {
        return db.Subjects.OrderBy(m => m.name).ToList();
    }
}
//lay mon hoc cua ebook
$('#upload').click(function () {
  $.ajax({
    type: "GET",
    //type: "POST",
    url "/api/FileAPI/GetSubject",
    //contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (result) {
      data = JSON.stringify(result),
        $.each(data, function (i, v) {
        $("#sub_ebook").append("<li><a href=''>" + v.name + "</a></li>");
        alert(v.name);
      });
    }
  });
});


(Huy Nguyễn) #2

Cái bạn response có chắc là json k


(Đạt Min) #3

Vậy phải làm như thế nào vậy anh. Em có coi mây kiểu return về list json nhưng nó vẫn bị lỗi đó anh


(Leo2T) #4

Lỗi trên của bạn là nó bị lổi lúc serialize nha! Lúc nó parse đối tượng bị vòng lập. Thành ra bạn phải select đúng thứ cái bạn muốn lấy. Đừng để EF nó tự geter!


(Hung) #5

Trong lúc chuyển code từ image sang text cho thớt thì phát hiện. :kissing_smiling_eyes:

    success: function (result) {
      data = JSON.stringify(result),  // <---- semicolon
        $.each(data, function (i, v) {
        $("#sub_ebook").append("<li><a href=''>" + v.name + "</a></li>");

Note: định chuyển tiếp ảnh thứ 3 nhưng thấy dãy B37F…599 phía sau DynamicProxies.Subject_ thì bệnh lười tái phát.


(Đạt Min) #6

em đã sửa đc rồi thanks mọi người ạ


83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?