设置HTML我有以下范围:jQuery的通过AJAX
<span class='username'> </span>
来填充这个我为此我使用Ajax获得从PHP的值:
$('.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这就是为什么有一些的buildin方法。总而言之,只记得print json_encode($this->currentClient['username']);
你想进去跨度的数据? – Shadow
在初始页面加载之后,您绝对不应该使用document.write。 – epascarello
你是否尝试直接写入'span'? –