0

我目前有一个应部分由 AJAX 调用填充的项目列表。是)我有的:

<li>Hello, username</li>

AJAX 调用从数据库中提取用户名。li那么,既然标签中的任何内容都是纯文本,那么如何附加拉取的信息以将其显示在“Hello”旁边?

阿贾克斯:

ajax({
    type: "GET"
    url: '../info
    success: function (data){
        if (data != ''){
            var user = info.username;
       }
    } 
})

如何将变量 user 放入列表项标签中?你能做类似的事情吗

<li>Hello, "$user"</li>
4

3 回答 3

0

如果您可以将您的项目格式化为<li>Hello, <span id = "username">username</span>,它将使您的生活更轻松。

然后你可以做这样的事情:

if (data != ''){
  var user = info.username;
  $('#username').html(user);
}
于 2012-12-07T14:51:06.530 回答
0

你的 AJAX 请求真的返回一个 JavaScript 对象吗?我怀疑它实际上返回 JSON,所以你需要对其进行解码:

$.ajax({
    type: "GET",
    url: '../info',
    success: function(data) {
        if(data != '')
        {
            var info = $.parseJSON(data),
                user = info.username;
            $('li').text('Hello, '+user);
        }
    } 
});
于 2012-12-07T14:52:25.610 回答
0

首先,放置一个具有用户名占位符的容器可能更容易,

<li>Hello, <span id="username">username</span></li>

然后,如果您期望 ajax 请求将返回 json 格式的响应,则必须设置dataType选项以对其进行解析。

ajax({
    type: "GET"
    url: '../info',
    dataType: 'json',
    success: function(data) {
        if(data) {
            $("#username").text(data.username);
        }
    } 
});

如果用户名直接作为文本返回:

success: function(data) {
    if(data != '') {
        $("#username").text(data);
    }
} 
于 2012-12-07T15:02:36.297 回答