如何显示Ajax Get-Method中的数据

How do i display data from Ajax Get Method?

本文关键字:Get-Method 数据 Ajax 何显示 显示      更新时间:2023-09-26

我试图显示我从控制器中检索到的数据,我可以在浏览器的控制台上看到这些数据,但它不会以html显示。这是我的代码:

    function GetUserInfo() {
        var username = readCookie("Cookie");
        $.ajax({
            url: '/api/getInfo/' + username,
            type: 'GET',
            data: { UserName: 'UserName', FirstName: 'FirstName', LastName: 'LastName' },
            dataType: 'json',
            success: function( Results ) {
                if (Results.length > 0) {
                     $('#username').text(Results.UserName);
$('#firstname').text(Results.UserName);
$('#lastname').text(Results.UserName);
                }
                else {
                    alert( "No data." );
                }
            }
        }).fail(
            function (xhr, textStatus, err) {
                alert(err);
            }
        );
    }

这是我需要显示的数据:

[
    {
        "Id": 0,
        "UserName": "demouser",
        "FirstName": "Demo",
        "LastName": "User",
        "EmailAddress": "demo.user@mail.com",
        "PhoneNumber": "xxx-xxx-xxxx"
    }
]

这是我用来显示数据的服务器端代码:

public List<Models.User> GetUserInfo( String username )
{
    List<Models.User> UserInfo = null;
    var Info = from m in db.MstUsers
               where m.UserName == username
               select new Models.User
               {
                   UserName = m.UserName,
                   FirstName = m.FirstName,
                   LastName = m.LastName,
                   EmailAddress = m.EmailAddress,
                   PhoneNumber = m.PhoneNumber
               };
    UserInfo = Info.ToList();
    return UserInfo;
}

如何将变量存储在数据选项中?从数组中放置数据的正确方法是什么?我是JQuery的新手。有人能告诉我我的代码出了什么问题,并帮助我了解存储数据的正确方法吗?

因为Results是一个数组。您必须迭代并在DOM中显示数据,否则使用索引Results[0](如果是它的第一个元素,则根据要显示的对象更改索引)来显示结果。

如果$("#username")是一个输入文本字段,请改用$("#username").va(Results[0].username)

success: function( Results ) {
                if (Results.length > 0) {
                     $('#username').text(Results[0].UserName);
                     $('#firstname').text(Results[0].UserName);
                     $('#lastname').text(Results[0].UserName);
                }
                else {
                    alert( "No data." );
                }
            }