2011-05-11 19 views
1

jsonオブジェクトを出力するphpファイルがあります。スマートなテンプレートで表示するために、これらの出力のレコードセットを表示したかったのです。しかし、jsonオブジェクトをエコーすると、テンプレートの外側にスマートテンプレートの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

私はあなたの質問が何であるか分かりません。どこが間違っていますか? –

+0

Pekkaと同じです。そして、 "dte.lc"はどこから来ますか?なぜfiループの中にfi.fnameの代わりにfi.fname [0]を追加しようとしていますか? – PJP

+0

申し訳ありません.I info + = dte.lcはテストファイルのものです。 plz行をスキップします。そしてfi.lname [0]は、異なるユーザの名前の配列です。理想的にはfi.lname [i]でなければなりません。 – Nitish

答えて

0

私があなたを正しく理解していれば、エコーの代わりにリターンを使用するべきです。 あなたのエコーは別のスレッドにあり、callback()関数が動作しないためです。

+0

PHPスクリプトは$ .getJSON呼び出しで呼び出すスクリプトだと思います。だからエコーはOKです。 – PJP

+0

私は$ json_objを返そうとしました。 ( – Nitish

+0

)each()関数の前にコールバックでjQuery.parseJSON(data)を使うべきでしょうか? –