私は次のスパンを持っています:
<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']);