2011-05-11 102 views
1

我有一個輸出json對象的php文件。我想顯示一組這些輸出的記錄,以便在smarty模板中顯示。但是,當我回顯json對象時,顯示如smarty模板中的JSON輸出

[{"fname":"kashmiri","lname":"medhi"},{"fname":"Kangkan","lname":"Hazarika"},{"fname":"ikram","lname":"hussain"}] 

在模板外部。我正在使用jQuery getJSON()函數。 的PHP文件:

foreach($res as $a=>$v) 
      { 
       $arr['fname'] = $v->UM_first_name; 
       $arr['lname'] = $v->UM_last_name; 
       $data[] = $arr; 
      } 
      $json_obj = json_encode($data); 
      echo $json_obj; 

JS文件:

$('document').ready(function() 
{ 
    $.getJSON('http://localhost/basic_framework/index.php ?menu=search_22',callBack); 

}); 
function callBack(data) 
{ 
    $.each(data,function(i,fi) 
    { 
     var info ='';  
     info+=dte.lc; 
     info+='<div id="ids">'+fi.fname[0]+'</div>'; 
     info+='<div id="nws">'+fi.lname[0]+'</div>'; 

     $(info).appendTo("#friend_info"); 
    }); 
} 

如果我做了錯誤的?

+2

我不知道我明白你的問題是什麼。哪裏出了問題? – 2011-05-11 10:00:49

+0

和Pekka一樣。 「dte.lc」從哪裏來?你爲什麼試圖在你的JS循環中追加fi.fname [0]而不是fi.fname? – PJP 2011-05-11 10:04:08

+0

對不起.I info + = dte.lc來自我的測試文件。 plz跳過線。而fi.lname [0]是因爲它是一個不同用戶名的數組。理想情況下,它應該是fi.lname [i]。 – Nitish 2011-05-11 10:10:01

回答

0

如果我理解你是對的,你應該使用return而不是你的回聲。 因爲你的回聲將在另一個線程中,它不會使回調()函數的工作。

+0

我認爲PHP腳本是他用$ .getJSON調用調用的腳本。所以回聲是好的。 – PJP 2011-05-11 10:05:38

+0

我試過返回$ json_obj;仍然工作:( – Nitish 2011-05-11 10:11:09

+0

也許你應該在你的回調函數中使用jQuery.parseJSON(data)before each()函數? – 2011-05-11 11:10:50