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

时间:2015-03-07 08:40:11

标签: javascript jquery ajax

我试图显示从Controller中检索到的数据,我可以在浏览器的控制台上看到数据,但它不会显示在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;
}

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

1 个答案:

答案 0 :(得分:0)

由于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." );
                }
            }
相关问题