2016-09-08 48 views
0

我試圖通過控制器json響應獲取多個雄辯對象,當下拉更改時。如何讀laravel中的多個對象的ajax響應5.2

enter image description here

當電影院被改變,那麼它應該返回2頁不同的表獲取2個對象。

控制器代碼

public function getscreen($id) 
{ 
    $screens=Movies_screen::where('cinema_id',$id)->get(); 
    $showtime=Movies_showtimes::where('cinema_id',$id)->get(); 

    return response()->json($screens); 
} 

我的jQuery Ajax代碼

$("#cinemahall").on("change click",function(){ 

var cinema_id=$("#cinemahall option:selected").val(); 
//ajax 
    $.get('/askspidy/admin/showtime/getscreen/' + cinema_id, function(data){ 

     $("#screenname").empty(); 
     $("#screenname").append('<option value=0>Select Screen</option>'); 

     $.each(data,function(index,screenobj){ 
      $("#screenname").append('<option value="' +screenobj.screen_id + '">' +screenobj.screen_name +'</option>'); 
     }); 
    }); 
}); 

當單雄辯對象即$發送屏幕上面的代碼工作正常,但你可以在代碼中看到有另一個對象即$ showtime,我需要發送相同的請求,並在我的jQuery Ajax代碼中讀取它。

我試着在控制器

public function getscreen($id) 
{ 
    $screens=Movies_screen::where('cinema_id',$id)->get(); 
    $showtime=Movies_showtimes::where('cinema_id',$id)->get(); 

    return response()->json($screens,$showtime); 
} 

和jQuery代碼

$.get('/askspidy/admin/showtime/getscreen/' + cinema_id, function(data,data2) 

但沒有解決方案的工作。

回答

1

您可以使用索引指向不同的集合返回數組:

return response()->json["screens" => $screens, "showtime" => $showtime]); 

然後通過使用.語法JS對象的GET請求訪問:

return response()->json(['screens' => $screens, 'showtime' => $showtime]); 

在JSON中,這將被轉換爲有兩個屬性,「屏幕」和「欣欣」 JavaScript對象:

$.get('/askspidy/admin/showtime/getscreen/' + cinema_id, function(data) { 
    console.log(data.screens); 
    console.log(data.showtime); 
}); 
+0

其工作,但需要一個幫忙,我試圖讓這個顯示爲$。每次(數據,功能(索引,screenobj){ $(「#screenname」)。append(''); });但它'不工作,你能找出問題所在。謝謝 – dollar

+0

@dollar請開個新的問題。 – Elias

1

返回你的迴應在一個陣列:

$.get("URL", function(data){ 
    console.log(data.screens); 
    // or 
    console.log(data.showtimes); 
});