HTML元素在ajax函数中显示为undefined

时间:2015-05-09 02:28:28

标签: jquery html ajax

我有一个包含这个的HTML:

<a class="dropdown-toggle" data-toggle="dropdown" id="welcomeMessage">
    <i class="oi oi-person"></i> 
    Welcome, 
    <i class="oi oi-chevron-bottom"></i>
    <span id="not_var"><i id="not_env"></i></span>
</a>

这样的jQuery代码:

$(document).ready(function(){
 var username;
function getUserName(whenDone) {
    $.ajax( {
        url : '../scripts/getUser.php', type : 'get', data : {
        }
        , success : function (response) {
            whenDone(response);
        }
    }
    );
}

//When our ajax function finishes searching for the username, let's add it to the variable
function onComplete(response) {
    username = response;
    $('#welcomeMessage').append(username);
}
//Get the username
getUserName(onComplete);
});

onComplete 功能中,元素 $(&#39;#welcomeMessage&#39;)未定义。在ajax调用的成功中也未定义。如果我尝试在 getUserName(onComplete); 之后设置所述元素的HTML,则会导致变量&#39; 用户名&#39;未定义。

我想要的是能够使用ID&#34; welcomeMessage&#34;编辑HTML元素。用变量&#34;用户名&#34;的内容一旦ajax完成了。我使用了回调,但看起来所有内容都消失了:成功函数和回调函数。好像这些函数本身与HTML隔离,甚至是 $(document).ready 块内的其他内容。

无论如何要追加 $(&#39;#welcomeMessage&#39;)&#39; 用户名&#39;的值一旦ajax完成取数据?也就是说,通过在函数 onComplete

中使其可用

0 个答案:

没有答案