我试图显示从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的新手。有人可以告诉我我的代码有什么问题,并帮助我理解存储数据的正确方法吗?
答案 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." );
}
}