Неопределенный результат при запросе ajax ASP.NET Core MVC

#asp.net-core-mvc #asp.net-ajax

#asp.net-core-mvc #asp.net-ajax

Вопрос:

Это мой класс контекста

 public class UserInfoContext
{
    private readonly MVCDbContext _db;

    public UserInfoContext(MVCDbContext db)
    {
        _db = db;
    }

    public async Task<List<UserInformation>> GetAll()
    {
        var list = await _db.UserInfo.ToListAsync();
        return list;
    }
  

Это мой контроллер

 private UserInfoContext _ui_context;        
    public UserInformationController(UserInfoContext ui_context)
    {
        _ui_context = ui_context;
    }

    // GET: UserInformation
    public IActionResult Index()
    {
        return View();
    }

    [HttpGet]
    public async Task<IActionResult> LoadUserList()
    {
        var list = await _ui_context.GetAll();
        return new JsonResult(list);
    }
  

И это мой AJAX-запрос

 <script>
$(document).ready(function () {

    loadUser();
    function loadUser() {
        $.ajax({
            method: "GET",
            url: "/UserInformation/LoadUserList",  
            data: {},
            dataType: "JSON",
            success: function (data) {       
                var html = '';
                $.each(data, function (key, item) {
                    html  = '<tr>';
                    html  = '<td>'   item.Id   '</td>';
                    html  = '<td>'   item.FirstName   '</td>';
                    html  = '<td>'   item.LastName   '</td>';
                    html  = '<td>'   item.Location   '</td>';                      
                    html  = '</tr>';
                });
                $('#table_user').html(html);
            }
        });
    }

});
  

Это результат, который я получаю

Я получаю «неопределенный результат».

я получаю неопределенный результат

Это вкладка «Вход в сеть отладчика»

мой журнал в отладчике

Что я делаю не так?

Комментарии:

1. Вы обращаетесь к переменным с первой буквой верхнего регистра в вашем ajax-запросе, в то время как в вашем json они записаны в нижнем регистре. Может ли это быть проблемой?

2. @ALFA должен ли я изменить «элемент. Идентификатор «кому»item.id «?

3. @PaulVincentDoroyan проверьте мой ответ, пожалуйста

4. не пробовал @FatikhanGasimov

5. Да, попробуйте использовать нижний регистр

Ответ №1:

Проблема в том, что ваша первая буква прописная (например: Firstname). Но начинать нужно со строчных ( item.id , item.firstName и т.д.)

  $.each(data, function (key, item) {
                    html  = '<tr>';
                    html  = '<td>'   item.id   '</td>';
                    html  = '<td>'   item.firstName   '</td>';
                    html  = '<td>'   item.lastName   '</td>';
                    html  = '<td>'   item.location   '</td>';                      
                    html  = '</tr>';
                });
  

Комментарии:

1. Спасибо @Fatikhan Gasimov, но мне интересно, почему это не работает, когда первая буква в верхнем регистре? просто выясняю