关于ajax请求的未定义结果ASP.NET Core MVC

时间:2019-03-06 07:30:53

标签: 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);
            }
        });
    }

});

这是即时通讯的结果 im getting undefined result

这是调试器网络标签上的登录 my log on debugger

希望您能帮助我,谢谢大家!

1 个答案:

答案 0 :(得分:0)

问题是您使用的是大写字母。但是您必须使用小写字母(item.iditem.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>';
                });