我有一个包含这个的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 ?
中使其可用