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

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);
      });
    }
  });
});

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

1 Like

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

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!

1 Like

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.

4 Likes

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?