我有以下跨度:
<span class='username'> </span>
要填充它,我必须从 PHP 中获取一个值,因此我使用 Ajax:
$('.username').html(getUsername());
function getUsername(){
$.ajax({
type: 'POST',
url: myBaseUrl + 'Profiles/ajax_getUsername',
dataType: 'json',
data: {
},
success: function(data){
document.write(data);
}
})
}
现在,当我调试时,我看到返回的数据 ( data
) 是正确的值,但span
标签之间的 html 保持不变。
我究竟做错了什么?
小更新
我尝试了以下方法:
function getUsername(){
$.ajax({
type: 'POST',
url: myBaseUrl + 'Profiles/ajax_getUsername',
dataType: 'json',
data: {
},
success: function(data){
$('.username').html('RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRr');
}
})
}
getUsername();
标签之间仍然没有 html(没有文本),但是当我查看控制台时,该方法已完成并已执行。
回答小更新
错误出现在我的 Ajax 函数中,我忘了打印实际响应!感谢您的所有回答,对于那些正在寻找这个问题的人来说,这里是我的 Ajax 函数:
public function ajax_getUsername(){
if ($this->RequestHandler->isAjax())
{
$this->autoLayout = false;
$this->autoRender = false;
$this->layout = 'ajax';
}
print json_encode($this->currentClient['username']);
}
请注意,我使用的是 CakePHP,这就是为什么有一些内置方法的原因。总而言之只要记住print json_encode($this->currentClient['username']);