2016-11-16 7 views
2

私はLaravelフレームワークを使用しています。私はこれに固執する。私は正常にデータを取得します。しかし、データを表示したいときは、データを配列形式で表示します。リストを表示する方法を教えてもらえますか?私はdivdiv内にAJAX応答データを表示する方法

<div class="col-md-9 col-sm-9 col-xs-12" id="ajaxListings"> 
    @include('layouts.publicLayout.get-listings')// here i have implemented layout 
</div> 

function filteredlistings(){ 
     $.ajax({ 
      url:'search-listings', 
      data:{ 
       'service_name':title, 
       'location':location 
      }, 
      type:"get", 
      success:function(allData) 
      { 
       $("#ajaxListings").html(allData); 
      }, 
      error: function() 
      { 
       alert('error'); 
      } 
     }); 
    } 

内の1つのレイアウトを持っており、ここに私の関数である。

public function search_listings(Request $request){ 
    if($request->ajax()){ 
     $data = $_GET; 
     $users = DB::table('users') 
     ->join('business_services', 'users.id', '=', 'business_services.user_id') 
     ->join('listings','users.id', '=', 'listings.user_id') 
     ->select('users.id', 'business_services.name', 'business_services.list_id','listings.location') 
     ->where(['business_services.name'=>$data['service_name'],'users.service_name'=>"Seller"]) 
     ->where('listings.location','like','%'.$data['location'].'%') 
     ->get(); 
     $users = json_decode(json_encode($users),true); 
     foreach($users as $alluser){ 
      $ids[] = $alluser['id']; 
     } 
     $allData=""; 
     if(!empty($ids)){ 
       $allData = User::with('listings')->whereIn('id',$ids)->get(); 
       $allData = json_decode(json_encode($allData),true); 
     } 
     $title = "Nails"; 
     echo "<pre>"; print_r($allData); die; 
    } 
} 

enter image description here

+0

サーバーが情報を配列として返すようです。あなたはおそらく応答を繰り返し、あなたのhtmlを構築する必要があります。 –

+0

希望する出力は何ですか? –

+0

レイアウトでHtmlデータを表示したい – kunal

答えて

1

Iguessことレイアウト+データを返すため、次のように使用できます。

return view('layouts.publicLayout.get-listings',compact('allData')); 

Inste

echo "<pre>"; print_r($allData); die; 

$allDataを使用してレイアウト内のデータにアクセスできます。

これが役に立ちます。

0

問題はこれです:

echo "<pre>"; print_r($allData); die; 

代わりのprint_r、それはjQueryので解析することができるようにJSONとしてデータを返す:

return response()->json($allData); 

その後、あなたのjQueryの成功機能で使用すると、データを反復処理することができます

success:function(allData) 
{ 
    // simple example showing the firstnames 
    var example = ''; 
    $.each(allData, function(){ 
     example += ', ' + this.firstname; 
    }); 
    $("#ajaxListings").text(example); 
}, 
+0

MrCodeが動作していない場合は、空白の画面が表示されます。( – kunal

+0

自分のhtmlデータを表示する方法 – kunal

関連する問題