2017-01-21 3 views
0

Я пытаюсь получить от данных базы данных в моем приложении, мой JS код выглядит следующим образом:Как получить данные с сервера, используя Jquery в Asp.Net MVC 4 Применение

$(function() { 
$("#getNotices").button().click(function() { 
    $.get("/Notice/GetItems", function (data, statusText) { 
     console.log(data); 
    }); 
}); 
}); 

Мой контроллер:

[HttpGet] 
public IEnumerable<Notice> GetItems() 
{ 
    return db.GetItems(); 
} 

И Метод GetItems:

public IEnumerable<Notice> GetItems() 
{ 
    return _db.Notices; 
} 

Он всегда возвращается:

enter image description here

Скажите, пожалуйста, как я могу получить данные, база данных хранит данные, которые я проверил, из базы данных? Спасибо за ваши ответы!

+1

может быть просто глупая идея, но вы пытались позвонить вернуть _db.Notices.ToList(); в GetItems()? –

+0

@JaroslavKadlec Да, я попробовал, он возвращает: «System.Collections.Generic.List». –

+1

это изменяет поведение, если вы измените его так, как описано в моем ответе? Например, смените подпись метода на возврат JsonResult? Затем потенциально попробуйте удалить атрибут [HttpGet] и попытаться получить данные через POST, но это будет скорее указывать на неправильную конфигурацию или что-то в этом роде. –

ответ

1

Использование Json Действие Результат выглядит следующим образом: -

[HttpGet] 
public JsonResult GetItems() 
{ 
    return Json(db.GetItems().ToList(), JsonRequestBehavior.AllowGet); 
} 
+0

ответили на ваш вопрос @ Владимира Ходаковского? –

1

Вы можете попробовать код изменения в методе GetItems() в:

public JsonResult GetItems() 
{ 
    return Json(_db.Notices.ToList()); 
} 

Таким образом, вы хотите сказать, что структура должна представлять результат, как JSON string, в случае, если не так, то просто .ToString() метод вызывается на вашем результат в фоновом режиме, а затем именно эта строка отправляется в пользовательский интерфейс.